diff --git a/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts b/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts index bdaecf718..97ca86a42 100644 --- a/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts +++ b/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts @@ -294,9 +294,14 @@ export class GhostfolioService { ); } - const searchResults = await Promise.all(promises); + const searchResults = await Promise.allSettled(promises); - for (const { items } of searchResults) { + for (const result of searchResults) { + if (result.status === 'rejected') { + Logger.warn(result.reason, 'GhostfolioService'); + continue; + } + const { items } = result.value; if (items?.length > 0) { lookupItems = lookupItems.concat(items); } diff --git a/apps/api/src/services/data-provider/data-provider.service.ts b/apps/api/src/services/data-provider/data-provider.service.ts index 3d8f2e553..853ebe4c0 100644 --- a/apps/api/src/services/data-provider/data-provider.service.ts +++ b/apps/api/src/services/data-provider/data-provider.service.ts @@ -650,9 +650,14 @@ export class DataProviderService { ); } - const searchResults = await Promise.all(promises); + const searchResults = await Promise.allSettled(promises); - for (const { items } of searchResults) { + for (const result of searchResults) { + if (result.status === 'rejected') { + Logger.warn(result.reason, 'DataProviderService'); + continue; + } + const { items } = result.value; if (items?.length > 0) { lookupItems = lookupItems.concat(items); } 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..9927b0d6a 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 @@ -320,6 +320,7 @@ export class YahooFinanceService implements DataProviderInterface { } } catch (error) { Logger.error(error, 'YahooFinanceService'); + return { items: [] }; } return { items };