From fce1673efcb303bb89cb351e1906d41acd2e5f20 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 7 Aug 2025 20:33:29 +0200 Subject: [PATCH] Refactor search query --- apps/api/src/app/portfolio/portfolio.controller.ts | 2 +- apps/api/src/app/portfolio/portfolio.service.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index f6cbbf105..748cdceb8 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -413,6 +413,7 @@ export class PortfolioController { filterByAssetClasses, filterByDataSource, filterByHoldingType, + filterBySearchQuery, filterBySymbol, filterByTags }); @@ -421,7 +422,6 @@ export class PortfolioController { dateRange, filters, impersonationId, - query: filterBySearchQuery, userId: this.request.user.id }); diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index d1b9af892..3e69bb68b 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -276,13 +276,11 @@ export class PortfolioService { dateRange, filters, impersonationId, - query, userId }: { dateRange: DateRange; filters?: Filter[]; impersonationId: string; - query?: string; userId: string; }) { userId = await this.getUserId(impersonationId, userId); @@ -295,13 +293,17 @@ export class PortfolioService { let holdings = Object.values(holdingsMap); - if (query) { + const searchQuery = filters.find(({ type }) => { + return type === 'SEARCH_QUERY'; + })?.id; + + if (searchQuery) { const fuse = new Fuse(holdings, { keys: ['isin', 'name', 'symbol'], threshold: 0.3 }); - holdings = fuse.search(query).map(({ item }) => { + holdings = fuse.search(searchQuery).map(({ item }) => { return item; }); }