From ea6f1a097412dd67e17c83a64256ef11c714cf46 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 19 Sep 2026 19:12:05 +0200 Subject: [PATCH] Align the method signatures and the member order of the portfolio calculator --- .../src/app/portfolio/calculator/mwr/portfolio-calculator.ts | 3 ++- apps/api/src/app/portfolio/calculator/portfolio-calculator.ts | 4 ++-- .../src/app/portfolio/calculator/roai/portfolio-calculator.ts | 2 +- .../src/app/portfolio/calculator/roi/portfolio-calculator.ts | 3 ++- .../src/app/portfolio/calculator/twr/portfolio-calculator.ts | 3 ++- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts index d268809354..98e3fc9a4b 100644 --- a/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts @@ -1,11 +1,12 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import { PortfolioCalculatorHolding } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-holding.interface'; import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; import { PortfolioSnapshot } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export class MwrPortfolioCalculator extends PortfolioCalculator { - protected calculateOverallPerformance(): PortfolioSnapshot { + protected calculateOverallPerformance([]: PortfolioCalculatorHolding[]): PortfolioSnapshot { throw new Error('Method not implemented.'); } diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts index 3f9526ddb3..ae90fd4526 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts @@ -714,8 +714,6 @@ export abstract class PortfolioCalculator { }; } - protected abstract getPerformanceCalculationType(): PerformanceCalculationType; - public getDataProviderInfos() { return this.dataProviderInfos; } @@ -869,6 +867,8 @@ export abstract class PortfolioCalculator { return { chart }; } + protected abstract getPerformanceCalculationType(): PerformanceCalculationType; + public async getSnapshot() { await this.snapshotPromise; diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts index 79923ee25e..9ebf757f98 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts @@ -134,7 +134,7 @@ export class RoaiPortfolioCalculator extends PortfolioCalculator { start, symbol }: { - chartDateMap?: { [date: string]: boolean }; + chartDateMap: { [date: string]: boolean }; end: Date; exchangeRates: { [dateString: string]: number }; marketSymbolMap: { diff --git a/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts index 4fabbd0d41..b3fc92b123 100644 --- a/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/roi/portfolio-calculator.ts @@ -1,11 +1,12 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import { PortfolioCalculatorHolding } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-holding.interface'; import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; import { PortfolioSnapshot } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export class RoiPortfolioCalculator extends PortfolioCalculator { - protected calculateOverallPerformance(): PortfolioSnapshot { + protected calculateOverallPerformance([]: PortfolioCalculatorHolding[]): PortfolioSnapshot { throw new Error('Method not implemented.'); } diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts index 5673c7e589..fc13a5ec14 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts @@ -1,11 +1,12 @@ import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; import { HoldingPerformance } from '@ghostfolio/api/app/portfolio/interfaces/holding-performance.interface'; +import { PortfolioCalculatorHolding } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-calculator-holding.interface'; import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces'; import { PortfolioSnapshot } from '@ghostfolio/common/models'; import { PerformanceCalculationType } from '@ghostfolio/common/types/performance-calculation-type.type'; export class TwrPortfolioCalculator extends PortfolioCalculator { - protected calculateOverallPerformance(): PortfolioSnapshot { + protected calculateOverallPerformance([]: PortfolioCalculatorHolding[]): PortfolioSnapshot { throw new Error('Method not implemented.'); }