From 3332ade3d3f1523aa9f12abc294057fcdc08c5ff Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 15 Jun 2022 13:21:47 +0200 Subject: [PATCH] Feature/filter public endpoint by equity asset class (#1014) * Filter by ASSET_CLASS: EQUITY * Update changelog --- CHANGELOG.md | 1 + .../src/app/portfolio/portfolio.controller.ts | 27 +++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b58d3d6b2..7418d4cba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Changed the default `HOST` to `0.0.0.0` +- Refactored the endpoint of the public page (filter by equity) ## 1.158.1 - 12.06.2022 diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 606ce658b..356167238 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -316,7 +316,9 @@ export class PortfolioController { const { holdings } = await this.portfolioService.getDetails( access.userId, - access.userId + access.userId, + '1d', + [{ id: 'EQUITY', type: 'ASSET_CLASS' }] ); const portfolioPublicDetails: PortfolioPublicDetails = { @@ -325,9 +327,6 @@ export class PortfolioController { }; const totalValue = Object.values(holdings) - .filter((holding) => { - return holding.assetClass === 'EQUITY'; - }) .map((portfolioPosition) => { return this.exchangeRateDataService.toCurrency( portfolioPosition.quantity * portfolioPosition.marketPrice, @@ -338,17 +337,15 @@ export class PortfolioController { .reduce((a, b) => a + b, 0); for (const [symbol, portfolioPosition] of Object.entries(holdings)) { - if (portfolioPosition.assetClass === 'EQUITY') { - portfolioPublicDetails.holdings[symbol] = { - allocationCurrent: portfolioPosition.allocationCurrent, - countries: hasDetails ? portfolioPosition.countries : [], - currency: portfolioPosition.currency, - markets: portfolioPosition.markets, - name: portfolioPosition.name, - sectors: hasDetails ? portfolioPosition.sectors : [], - value: portfolioPosition.value / totalValue - }; - } + portfolioPublicDetails.holdings[symbol] = { + allocationCurrent: portfolioPosition.allocationCurrent, + countries: hasDetails ? portfolioPosition.countries : [], + currency: portfolioPosition.currency, + markets: portfolioPosition.markets, + name: portfolioPosition.name, + sectors: hasDetails ? portfolioPosition.sectors : [], + value: portfolioPosition.value / totalValue + }; } return portfolioPublicDetails;