perf: start bond search prices with details (WealthLedger/backend#71) (#89)
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 14s
Backend verify / verify (push) Failing after 6m48s

This commit was merged in pull request #89.
This commit is contained in:
2026-10-14 14:04:07 +03:00
parent bbb5afff84
commit da2e1d0781
@@ -304,16 +304,18 @@ export class CatalogDiscoveryService {
input.query, input.query,
input.instrumentType, input.instrumentType,
).slice(FIRST_RESULT_OFFSET, input.exactTicker ? tickerAmbiguityLimit : catalogSearchLimit); ).slice(FIRST_RESULT_OFFSET, input.exactTicker ? tickerAmbiguityLimit : catalogSearchLimit);
const details = await Promise.all( const [details, prices] = await Promise.all([
instruments.map((item) => Promise.all(
input.instrumentType === 'share' instruments.map((item) =>
? this.tbank.getShare(token, item.uid) input.instrumentType === 'share'
: this.tbank.getBond(token, item.uid), ? this.tbank.getShare(token, item.uid)
: this.tbank.getBond(token, item.uid),
),
), ),
); instruments.length
const prices = instruments.length ? this.tbank.getLastPrices(token, instruments.map((item) => item.uid))
? await this.tbank.getLastPrices(token, instruments.map((item) => item.uid)) : [],
: []; ]);
const fetchedAt = new Date(); const fetchedAt = new Date();
const data = instruments.flatMap((item, index) => { const data = instruments.flatMap((item, index) => {
const detail = details.at(index); const detail = details.at(index);