Browse Source

Refactoring

pull/3762/head
Thomas Kaul 11 months ago
parent
commit
b4d241c9cf
  1. 19
      apps/api/src/app/endpoints/public/public.controller.ts

19
apps/api/src/app/endpoints/public/public.controller.ts

@ -5,6 +5,7 @@ import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interc
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config'; import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import { getSum } from '@ghostfolio/common/helper';
import { PublicPortfolioResponse } from '@ghostfolio/common/interfaces'; import { PublicPortfolioResponse } from '@ghostfolio/common/interfaces';
import type { RequestWithUser } from '@ghostfolio/common/types'; import type { RequestWithUser } from '@ghostfolio/common/types';
@ -17,6 +18,7 @@ import {
UseInterceptors UseInterceptors
} from '@nestjs/common'; } from '@nestjs/common';
import { REQUEST } from '@nestjs/core'; import { REQUEST } from '@nestjs/core';
import { Big } from 'big.js';
import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { StatusCodes, getReasonPhrase } from 'http-status-codes';
@Controller('public') @Controller('public')
@ -95,15 +97,18 @@ export class PublicController {
} }
}; };
const totalValue = Object.values(holdings) const totalValue = getSum(
.map(({ currency, marketPrice, quantity }) => { Object.values(holdings).map(({ currency, marketPrice, quantity }) => {
return this.exchangeRateDataService.toCurrency( return new Big(
quantity * marketPrice, this.exchangeRateDataService.toCurrency(
currency, quantity * marketPrice,
this.request.user?.Settings?.settings.baseCurrency ?? DEFAULT_CURRENCY currency,
this.request.user?.Settings?.settings.baseCurrency ??
DEFAULT_CURRENCY
)
); );
}) })
.reduce((a, b) => a + b, 0); ).toNumber();
for (const [symbol, portfolioPosition] of Object.entries(holdings)) { for (const [symbol, portfolioPosition] of Object.entries(holdings)) {
publicPortfolioResponse.holdings[symbol] = { publicPortfolioResponse.holdings[symbol] = {

Loading…
Cancel
Save