diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b406c49f..a96f9bb24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added a warning to the log if the data gathering fails + ### Fixed - Filtered potential `null` currencies +- Improved the 7d data gathering optimization for currencies ## 1.94.0 - 25.12.2021 diff --git a/apps/api/src/services/data-gathering.service.ts b/apps/api/src/services/data-gathering.service.ts index 1ee6ee221..b4bcd3a2a 100644 --- a/apps/api/src/services/data-gathering.service.ts +++ b/apps/api/src/services/data-gathering.service.ts @@ -334,16 +334,25 @@ export class DataGatheringService { ?.marketPrice; } - try { - await this.prismaService.marketData.create({ - data: { - dataSource, - symbol, - date: currentDate, - marketPrice: lastMarketPrice - } - }); - } catch {} + if (lastMarketPrice) { + try { + await this.prismaService.marketData.create({ + data: { + dataSource, + symbol, + date: currentDate, + marketPrice: lastMarketPrice + } + }); + } catch {} + } else { + Logger.warn( + `Failed to gather data for symbol ${symbol} at ${format( + currentDate, + DATE_FORMAT + )}.` + ); + } // Count month one up for iteration currentDate = new Date( @@ -492,8 +501,8 @@ export class DataGatheringService { } }) ) - .filter((symbolProfile) => { - return symbolsToGather.includes(symbolProfile.symbol); + .filter(({ symbol }) => { + return symbolsToGather.includes(symbol); }) .map((symbolProfile) => { return { @@ -504,6 +513,9 @@ export class DataGatheringService { const currencyPairsToGather = this.exchangeRateDataService .getCurrencyPairs() + .filter(({ symbol }) => { + return symbolsToGather.includes(symbol); + }) .map(({ dataSource, symbol }) => { return { dataSource,