From 97aae0e4ed52bf1dd7379f3f7ec2f2de16032131 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 29 Mar 2024 17:36:10 +0100 Subject: [PATCH] Move portfolio calculator --- ...lator-baln-buy-and-sell-in-two-activities.spec.ts | 2 +- .../portfolio-calculator-baln-buy-and-sell.spec.ts | 2 +- .../twr}/portfolio-calculator-baln-buy.spec.ts | 2 +- ...-calculator-btcusd-buy-and-sell-partially.spec.ts | 2 +- .../twr}/portfolio-calculator-googl-buy.spec.ts | 2 +- ...rtfolio-calculator-msft-buy-with-dividend.spec.ts | 2 +- .../twr}/portfolio-calculator-no-orders.spec.ts | 2 +- ...io-calculator-novn-buy-and-sell-partially.spec.ts | 2 +- .../portfolio-calculator-novn-buy-and-sell.spec.ts | 2 +- .../twr}/portfolio-calculator.spec.ts | 2 +- .../{ => calculator/twr}/portfolio-calculator.ts | 12 ++++++------ apps/api/src/app/portfolio/portfolio.service.ts | 2 +- 12 files changed, 17 insertions(+), 17 deletions(-) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts (95%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-baln-buy-and-sell.spec.ts (98%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-baln-buy.spec.ts (98%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts (99%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-googl-buy.spec.ts (98%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-msft-buy-with-dividend.spec.ts (97%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-no-orders.spec.ts (97%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-novn-buy-and-sell-partially.spec.ts (98%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator-novn-buy-and-sell.spec.ts (98%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator.spec.ts (97%) rename apps/api/src/app/portfolio/{ => calculator/twr}/portfolio-calculator.ts (99%) diff --git a/apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts similarity index 95% rename from apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts index 4a90409c9..cfa30ccfb 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts @@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts similarity index 98% rename from apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts index 6176acbb5..f77047be5 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts @@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-baln-buy.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts similarity index 98% rename from apps/api/src/app/portfolio/portfolio-calculator-baln-buy.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts index 61dfb5915..261a4a130 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-baln-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts @@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts similarity index 99% rename from apps/api/src/app/portfolio/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts index d17a12ba8..ba5ac4805 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts @@ -6,7 +6,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-googl-buy.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts similarity index 98% rename from apps/api/src/app/portfolio/portfolio-calculator-googl-buy.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts index 5e870b447..44b2ee1dc 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-googl-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts @@ -6,7 +6,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-msft-buy-with-dividend.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-msft-buy-with-dividend.spec.ts similarity index 97% rename from apps/api/src/app/portfolio/portfolio-calculator-msft-buy-with-dividend.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-msft-buy-with-dividend.spec.ts index 9ec51094e..9545fb2e9 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-msft-buy-with-dividend.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-msft-buy-with-dividend.spec.ts @@ -6,7 +6,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-no-orders.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-no-orders.spec.ts similarity index 97% rename from apps/api/src/app/portfolio/portfolio-calculator-no-orders.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-no-orders.spec.ts index 9947e2f45..c37d86cbb 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-no-orders.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-no-orders.spec.ts @@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; import { subDays } from 'date-fns'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell-partially.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts similarity index 98% rename from apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell-partially.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts index 8eeb216ba..5f264fefc 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell-partially.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts @@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts similarity index 98% rename from apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts index ec00fffe7..1f1037f69 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts @@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper'; import { Big } from 'big.js'; -import { CurrentRateServiceMock } from './current-rate.service.mock'; +import { CurrentRateServiceMock } from '../../current-rate.service.mock'; import { PortfolioCalculator } from './portfolio-calculator'; jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.spec.ts similarity index 97% rename from apps/api/src/app/portfolio/portfolio-calculator.spec.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.spec.ts index a385774ff..95d39cbbc 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.spec.ts @@ -2,7 +2,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate- import { Big } from 'big.js'; -import { CurrentRateService } from './current-rate.service'; +import { CurrentRateService } from '../../current-rate.service'; import { PortfolioCalculator } from './portfolio-calculator'; describe('PortfolioCalculator', () => { diff --git a/apps/api/src/app/portfolio/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts similarity index 99% rename from apps/api/src/app/portfolio/portfolio-calculator.ts rename to apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts index d95acc836..7671fce4d 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts @@ -30,12 +30,12 @@ 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'; +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; diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index fe0e5a601..7fe82504f 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -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');