Browse Source

Refactor query to filter activities of excluded accounts

pull/3016/head
Thomas Kaul 2 years ago
parent
commit
7ddee62246
  1. 48
      apps/api/src/app/order/order.service.ts

48
apps/api/src/app/order/order.service.ts

@ -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 };
}

Loading…
Cancel
Save