diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts index 32e2bf106f..e64757763d 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts @@ -858,9 +858,18 @@ export abstract class PortfolioCalculator { unitPriceAtEndDate: Big; unitPriceAtStartDate: Big; }): PortfolioOrderItem[] { + if (orders.length <= 0) { + return []; + } + const assetProfileIdentifier = getAssetProfileIdentifier(assetProfile); const dateStringOfFirstActivity = orders[0].date; - const ordersWithMarketPrices = [...orders]; + + // Copy the items as they are enriched below. A shallow copy is sufficient + // because only top-level properties are written. + const ordersWithMarketPrices = orders.map((order) => { + return { ...order }; + }); // Add a synthetic order at the start and the end date ordersWithMarketPrices.push({ 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 6f73f6990d..873bffd4a8 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts @@ -183,13 +183,8 @@ export class RoaiPortfolioCalculator extends PortfolioCalculator { symbol }); - // Copy the items as they are enriched below. A shallow copy is sufficient - // because only top-level properties are written. - let orders: PortfolioOrderItem[] = ( - this.activitiesByAssetProfileIdentifier[assetProfileIdentifier] ?? [] - ).map((activity) => { - return { ...activity }; - }); + let orders: PortfolioOrderItem[] = + this.activitiesByAssetProfileIdentifier[assetProfileIdentifier] ?? []; const isCash = orders[0]?.assetProfile?.assetSubClass === 'CASH';