Browse Source
Feature/refactor query to filter activities of excluded accounts (#3016)
* Refactor query to filter activities of excluded accounts
* Update changelog
pull/3019/head
Thomas Kaul
11 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
24 additions and
25 deletions
-
CHANGELOG.md
-
apps/api/src/app/order/order.service.ts
|
|
@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
|
|
|
### Changed |
|
|
|
|
|
|
|
- Improved the usability of the holdings table |
|
|
|
- Refactored the query to filter activities of excluded accounts |
|
|
|
- Improved the language localization for German (`de`) |
|
|
|
- Upgraded `ng-extract-i18n-merge` from version `2.9.1` to `2.10.0` |
|
|
|
|
|
|
|
|
|
@ -301,6 +301,12 @@ export class OrderService { |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
if (withExcludedAccounts === false) { |
|
|
|
where.Account = { |
|
|
|
NOT: { isExcluded: true } |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
const [orders, count] = await Promise.all([ |
|
|
|
this.orders({ |
|
|
|
orderBy, |
|
|
@ -322,32 +328,24 @@ export class OrderService { |
|
|
|
this.prismaService.order.count({ where }) |
|
|
|
]); |
|
|
|
|
|
|
|
const activities = orders |
|
|
|
.filter((order) => { |
|
|
|
return ( |
|
|
|
withExcludedAccounts || |
|
|
|
!order.Account || |
|
|
|
order.Account?.isExcluded === false |
|
|
|
); |
|
|
|
}) |
|
|
|
.map((order) => { |
|
|
|
const value = new Big(order.quantity).mul(order.unitPrice).toNumber(); |
|
|
|
|
|
|
|
return { |
|
|
|
...order, |
|
|
|
const activities = orders.map((order) => { |
|
|
|
const value = new Big(order.quantity).mul(order.unitPrice).toNumber(); |
|
|
|
|
|
|
|
return { |
|
|
|
...order, |
|
|
|
value, |
|
|
|
feeInBaseCurrency: this.exchangeRateDataService.toCurrency( |
|
|
|
order.fee, |
|
|
|
order.SymbolProfile.currency, |
|
|
|
userCurrency |
|
|
|
), |
|
|
|
valueInBaseCurrency: this.exchangeRateDataService.toCurrency( |
|
|
|
value, |
|
|
|
feeInBaseCurrency: this.exchangeRateDataService.toCurrency( |
|
|
|
order.fee, |
|
|
|
order.SymbolProfile.currency, |
|
|
|
userCurrency |
|
|
|
), |
|
|
|
valueInBaseCurrency: this.exchangeRateDataService.toCurrency( |
|
|
|
value, |
|
|
|
order.SymbolProfile.currency, |
|
|
|
userCurrency |
|
|
|
) |
|
|
|
}; |
|
|
|
}); |
|
|
|
order.SymbolProfile.currency, |
|
|
|
userCurrency |
|
|
|
) |
|
|
|
}; |
|
|
|
}); |
|
|
|
|
|
|
|
return { activities, count }; |
|
|
|
} |
|
|
|