From da2e1d0781d23f4ab1c38e7bf3cad2e254d026d5 Mon Sep 17 00:00:00 2001 From: codex-bot Date: Wed, 14 Oct 2026 14:04:07 +0300 Subject: [PATCH] perf: start bond search prices with details (WealthLedger/backend#71) (#89) --- .../application/catalog-discovery.service.ts | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/modules/investments/instruments/application/catalog-discovery.service.ts b/src/modules/investments/instruments/application/catalog-discovery.service.ts index 93901be..f1c62c4 100644 --- a/src/modules/investments/instruments/application/catalog-discovery.service.ts +++ b/src/modules/investments/instruments/application/catalog-discovery.service.ts @@ -304,16 +304,18 @@ export class CatalogDiscoveryService { input.query, input.instrumentType, ).slice(FIRST_RESULT_OFFSET, input.exactTicker ? tickerAmbiguityLimit : catalogSearchLimit); - const details = await Promise.all( - instruments.map((item) => - input.instrumentType === 'share' - ? this.tbank.getShare(token, item.uid) - : this.tbank.getBond(token, item.uid), + const [details, prices] = await Promise.all([ + Promise.all( + instruments.map((item) => + input.instrumentType === 'share' + ? this.tbank.getShare(token, item.uid) + : this.tbank.getBond(token, item.uid), + ), ), - ); - const prices = instruments.length - ? await this.tbank.getLastPrices(token, instruments.map((item) => item.uid)) - : []; + instruments.length + ? this.tbank.getLastPrices(token, instruments.map((item) => item.uid)) + : [], + ]); const fetchedAt = new Date(); const data = instruments.flatMap((item, index) => { const detail = details.at(index);