Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/ghostfolio/commit/63a61fb49237742eab999b1ed7f3c9ce051a2c00
You should set ROOT_URL correctly, otherwise the web may not work correctly.
12 changed files with
17 additions and
18 deletions
@ -1,11 +1,11 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,11 +1,11 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,11 +1,11 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,12 +1,12 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service.mock' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,12 +1,12 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service.mock' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,12 +1,12 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { ExchangeRateDataServiceMock } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service.mock' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,11 +1,11 @@
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { subDays } from 'date-fns' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,11 +1,11 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,11 +1,11 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentRateServiceMock } from '@ghostfolio/api/app/portfolio/current-rate.service.mock' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { parseDate } from '@ghostfolio/common/helper' ;
import { Big } from 'big.js' ;
import { CurrentRateServiceMock } from './current-rate.service.mock' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
jest . mock ( '@ghostfolio/api/app/portfolio/current-rate.service' , ( ) = > {
@ -1,8 +1,8 @@
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { Big } from 'big.js' ;
import { CurrentRateService } from './current-rate.service' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
describe ( 'PortfolioCalculator' , ( ) = > {
@ -1,4 +1,10 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface' ;
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service' ;
import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface' ;
import { PortfolioOrderItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator.interface' ;
import { PortfolioOrder } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order.interface' ;
import { TransactionPointSymbol } from '@ghostfolio/api/app/portfolio/interfaces/transaction-point-symbol.interface' ;
import { TransactionPoint } from '@ghostfolio/api/app/portfolio/interfaces/transaction-point.interface' ;
import { getFactor } from '@ghostfolio/api/helper/portfolio.helper' ;
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service' ;
import { IDataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces' ;
@ -30,13 +36,6 @@ import {
} from 'date-fns' ;
import { cloneDeep , first , isNumber , last , sortBy , uniq } from 'lodash' ;
import { CurrentRateService } from './current-rate.service' ;
import { CurrentPositions } from './interfaces/current-positions.interface' ;
import { PortfolioOrderItem } from './interfaces/portfolio-calculator.interface' ;
import { PortfolioOrder } from './interfaces/portfolio-order.interface' ;
import { TransactionPointSymbol } from './interfaces/transaction-point-symbol.interface' ;
import { TransactionPoint } from './interfaces/transaction-point.interface' ;
export class PortfolioCalculator {
private static readonly ENABLE_LOGGING = false ;
@ -86,11 +86,11 @@ import {
} from 'date-fns' ;
import { isEmpty , last , uniq , uniqBy } from 'lodash' ;
import { PortfolioCalculator } from './calculator/twr/portfolio-calculator' ;
import {
HistoricalDataContainer ,
PortfolioPositionDetail
} from './interfaces/portfolio-position-detail.interface' ;
import { PortfolioCalculator } from './portfolio-calculator' ;
import { RulesService } from './rules.service' ;
const asiaPacificMarkets = require ( '../../assets/countries/asia-pacific-markets.json' ) ;