From e0140ba63c52dc1dc73d3363d6a3d0c280ffdb2f Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 24 May 2025 18:05:47 +0200 Subject: [PATCH] Improve handling of schema validation errors --- .../yahoo-finance/yahoo-finance.service.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index d5a132b41..baebeec52 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -31,6 +31,7 @@ import { HistoricalHistoryResult } from 'yahoo-finance2/esm/src/modules/historical'; import { Quote } from 'yahoo-finance2/esm/src/modules/quote'; +import { QuoteResponseArray } from 'yahoo-finance2/script/src/modules/quote'; import { SearchQuoteNonYahoo } from 'yahoo-finance2/script/src/modules/search'; @Injectable() @@ -281,11 +282,19 @@ export class YahooFinanceService implements DataProviderInterface { return true; }); - const marketData = await this.yahooFinance.quote( - quotes.map(({ symbol }) => { - return symbol; - }) - ); + let marketData: QuoteResponseArray = []; + + try { + marketData = await this.yahooFinance.quote( + quotes.map(({ symbol }) => { + return symbol; + }) + ); + } catch (error) { + if (error?.result?.length > 0) { + marketData = error.result; + } + } for (const marketDataItem of marketData) { const quote = quotes.find((currentQuote) => {