|
|
@ -575,6 +575,7 @@ export class PortfolioService { |
|
|
(user.settings?.settings as UserSettings)?.emergencyFund ?? 0 |
|
|
(user.settings?.settings as UserSettings)?.emergencyFund ?? 0 |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// Activities for non-cash assets
|
|
|
const { activities } = |
|
|
const { activities } = |
|
|
await this.orderService.getOrdersForPortfolioCalculator({ |
|
|
await this.orderService.getOrdersForPortfolioCalculator({ |
|
|
filters, |
|
|
filters, |
|
|
@ -582,23 +583,29 @@ export class PortfolioService { |
|
|
userId |
|
|
userId |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const portfolioCalculator = this.calculatorFactory.createCalculator({ |
|
|
// Synthetic activities for cash
|
|
|
activities, |
|
|
const cashDetails = await this.accountService.getCashDetails({ |
|
|
filters, |
|
|
filters, |
|
|
userId, |
|
|
userId, |
|
|
calculationType: this.getUserPerformanceCalculationType(user), |
|
|
|
|
|
currency: userCurrency |
|
|
currency: userCurrency |
|
|
}); |
|
|
}); |
|
|
|
|
|
const cashActivities = await this.getCashActivities({ |
|
|
|
|
|
cashDetails, |
|
|
|
|
|
userCurrency, |
|
|
|
|
|
userId |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
const { createdAt, currentValueInBaseCurrency, hasErrors, positions } = |
|
|
const portfolioCalculator = this.calculatorFactory.createCalculator({ |
|
|
await portfolioCalculator.getSnapshot(); |
|
|
|
|
|
|
|
|
|
|
|
const cashDetails = await this.accountService.getCashDetails({ |
|
|
|
|
|
filters, |
|
|
filters, |
|
|
userId, |
|
|
userId, |
|
|
|
|
|
activities: [...activities, ...cashActivities], |
|
|
|
|
|
calculationType: this.getUserPerformanceCalculationType(user), |
|
|
currency: userCurrency |
|
|
currency: userCurrency |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const { createdAt, currentValueInBaseCurrency, hasErrors, positions } = |
|
|
|
|
|
await portfolioCalculator.getSnapshot(); |
|
|
|
|
|
|
|
|
const holdings: PortfolioDetails['holdings'] = {}; |
|
|
const holdings: PortfolioDetails['holdings'] = {}; |
|
|
|
|
|
|
|
|
const totalValueInBaseCurrency = currentValueInBaseCurrency.plus( |
|
|
const totalValueInBaseCurrency = currentValueInBaseCurrency.plus( |
|
|
|