Browse Source

Fix handling of cash positions with filters

pull/7212/head
Thomas Kaul 2 months ago
parent
commit
fa6bbf8f79
  1. 27
      apps/api/src/app/activities/activities.service.ts

27
apps/api/src/app/activities/activities.service.ts

@ -393,17 +393,30 @@ export class ActivitiesService {
userCurrency: string; userCurrency: string;
userId: string; userId: string;
}): Promise<ActivitiesResponse> { }): Promise<ActivitiesResponse> {
const filtersByAssetClass = filters.filter(({ type }) => { const {
return type === 'ASSET_CLASS'; ASSET_CLASS: filtersByAssetClass = [],
DATA_SOURCE: [filterByDataSource] = [],
SYMBOL: [filterBySymbol] = [],
TAG: filtersByTag = []
} = groupBy(filters, ({ type }) => {
return type;
}); });
if ( const isFilteredByAssetClassOtherThanLiquidity =
filtersByAssetClass.length > 0 && filtersByAssetClass.length > 0 &&
!filtersByAssetClass.find(({ id }) => { !filtersByAssetClass.some(({ id }) => {
return id === AssetClass.LIQUIDITY; return id === AssetClass.LIQUIDITY;
}) });
) {
// If asset class filters are present and none of them is liquidity, return an empty response const isFilteredByAssetProfile = !!(filterByDataSource && filterBySymbol);
const isFilteredByTag = filtersByTag.length > 0;
const hasNonMatchingFilters =
isFilteredByAssetClassOtherThanLiquidity ||
isFilteredByAssetProfile ||
isFilteredByTag;
if (hasNonMatchingFilters) {
return { return {
activities: [], activities: [],
count: 0 count: 0

Loading…
Cancel
Save