Browse Source

Concat Tags from SymbolProfile as well

pull/5027/head
Dan 5 months ago
parent
commit
0d1878148b
  1. 2
      apps/api/src/app/portfolio/portfolio.controller.ts
  2. 8
      apps/api/src/app/portfolio/portfolio.service.ts

2
apps/api/src/app/portfolio/portfolio.controller.ts

@ -177,6 +177,7 @@ export class PortfolioController {
? portfolioPosition.markets ? portfolioPosition.markets
: undefined; : undefined;
portfolioPosition.sectors = hasDetails ? portfolioPosition.sectors : []; portfolioPosition.sectors = hasDetails ? portfolioPosition.sectors : [];
portfolioPosition.tags = hasDetails ? portfolioPosition.tags : [];
} }
for (const [name, { valueInBaseCurrency }] of Object.entries(accounts)) { for (const [name, { valueInBaseCurrency }] of Object.entries(accounts)) {
@ -243,6 +244,7 @@ export class PortfolioController {
currency: hasDetails ? portfolioPosition.currency : undefined, currency: hasDetails ? portfolioPosition.currency : undefined,
holdings: hasDetails ? portfolioPosition.holdings : [], holdings: hasDetails ? portfolioPosition.holdings : [],
markets: hasDetails ? portfolioPosition.markets : undefined, markets: hasDetails ? portfolioPosition.markets : undefined,
tags: hasDetails ? portfolioPosition.tags : [],
marketsAdvanced: hasDetails marketsAdvanced: hasDetails
? portfolioPosition.marketsAdvanced ? portfolioPosition.marketsAdvanced
: undefined, : undefined,

8
apps/api/src/app/portfolio/portfolio.service.ts

@ -78,7 +78,7 @@ import {
parseISO, parseISO,
set set
} from 'date-fns'; } from 'date-fns';
import { isEmpty, uniq } from 'lodash'; import { isEmpty, uniq, uniqBy } from 'lodash';
import { CPRPortfolioCalculator } from './calculator/constantPortfolioReturn/portfolio-calculator'; import { CPRPortfolioCalculator } from './calculator/constantPortfolioReturn/portfolio-calculator';
import { PortfolioCalculator } from './calculator/portfolio-calculator'; import { PortfolioCalculator } from './calculator/portfolio-calculator';
@ -486,13 +486,17 @@ export class PortfolioService {
})); }));
} }
const tagsInternal = tags.concat(
symbolProfiles.find((sp) => sp.symbol === symbol)?.tags ?? []
);
holdings[symbol] = { holdings[symbol] = {
currency, currency,
markets, markets,
marketsAdvanced, marketsAdvanced,
marketPrice, marketPrice,
symbol, symbol,
tags, tags: uniqBy(tagsInternal, 'id'),
transactionCount, transactionCount,
allocationInPercentage: filteredValueInBaseCurrency.eq(0) allocationInPercentage: filteredValueInBaseCurrency.eq(0)
? 0 ? 0

Loading…
Cancel
Save