Browse Source

Add missing tags

pull/3243/head
Thomas Kaul 1 year ago
parent
commit
0fcac61e2f
  1. 14
      apps/api/src/app/portfolio/calculator/portfolio-calculator.ts

14
apps/api/src/app/portfolio/calculator/portfolio-calculator.ts

@ -29,7 +29,7 @@ import {
max,
subDays
} from 'date-fns';
import { last, uniq } from 'lodash';
import { last, uniq, uniqBy } from 'lodash';
export abstract class PortfolioCalculator {
protected static readonly ENABLE_LOGGING = false;
@ -57,9 +57,10 @@ export abstract class PortfolioCalculator {
this.currentRateService = currentRateService;
this.exchangeRateDataService = exchangeRateDataService;
this.orders = activities.map(
({ date, fee, quantity, SymbolProfile, type, unitPrice }) => {
({ date, fee, quantity, SymbolProfile, tags = [], type, unitPrice }) => {
return {
SymbolProfile,
tags,
type,
date: format(date, DATE_FORMAT),
fee: new Big(fee),
@ -711,17 +712,17 @@ export abstract class PortfolioCalculator {
currentTransactionPointItem = {
investment,
tags,
averagePrice: newQuantity.gt(0)
? investment.div(newQuantity)
: new Big(0),
currency: SymbolProfile.currency,
dataSource: SymbolProfile.dataSource,
dividend: new Big(0),
fee: fee.plus(oldAccumulatedSymbol.fee),
fee: oldAccumulatedSymbol.fee.plus(fee),
firstBuyDate: oldAccumulatedSymbol.firstBuyDate,
quantity: newQuantity,
symbol: SymbolProfile.symbol,
tags: oldAccumulatedSymbol.tags.concat(tags),
transactionCount: oldAccumulatedSymbol.transactionCount + 1
};
} else {
@ -740,6 +741,11 @@ export abstract class PortfolioCalculator {
};
}
currentTransactionPointItem.tags = uniqBy(
currentTransactionPointItem.tags,
'id'
);
symbols[SymbolProfile.symbol] = currentTransactionPointItem;
const items = lastTransactionPoint?.items ?? [];

Loading…
Cancel
Save