diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a2ed4487..eaca8f744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Changed + +- Changed the data gathering by symbol endpoint to delete data first + ## 1.164.0 - 23.06.2022 ### Added diff --git a/apps/api/src/services/data-gathering.module.ts b/apps/api/src/services/data-gathering.module.ts index 7e6fdc029..6f81a90d6 100644 --- a/apps/api/src/services/data-gathering.module.ts +++ b/apps/api/src/services/data-gathering.module.ts @@ -10,6 +10,7 @@ import ms from 'ms'; import { DataGatheringProcessor } from './data-gathering.processor'; import { ExchangeRateDataModule } from './exchange-rate-data.module'; +import { MarketDataModule } from './market-data.module'; import { SymbolProfileModule } from './symbol-profile.module'; @Module({ @@ -25,6 +26,7 @@ import { SymbolProfileModule } from './symbol-profile.module'; DataEnhancerModule, DataProviderModule, ExchangeRateDataModule, + MarketDataModule, PrismaModule, SymbolProfileModule ], diff --git a/apps/api/src/services/data-gathering.service.ts b/apps/api/src/services/data-gathering.service.ts index 5bc669e6e..15d363999 100644 --- a/apps/api/src/services/data-gathering.service.ts +++ b/apps/api/src/services/data-gathering.service.ts @@ -17,6 +17,7 @@ import { DataProviderService } from './data-provider/data-provider.service'; import { DataEnhancerInterface } from './data-provider/interfaces/data-enhancer.interface'; import { ExchangeRateDataService } from './exchange-rate-data.service'; import { IDataGatheringItem } from './interfaces/interfaces'; +import { MarketDataService } from './market-data.service'; import { PrismaService } from './prisma.service'; @Injectable() @@ -28,6 +29,7 @@ export class DataGatheringService { private readonly dataGatheringQueue: Queue, private readonly dataProviderService: DataProviderService, private readonly exchangeRateDataService: ExchangeRateDataService, + private readonly marketDataService: MarketDataService, private readonly prismaService: PrismaService, private readonly symbolProfileService: SymbolProfileService ) {} @@ -56,6 +58,8 @@ export class DataGatheringService { } public async gatherSymbol({ dataSource, symbol }: UniqueAsset) { + await this.marketDataService.deleteMany({ dataSource, symbol }); + const symbols = (await this.getSymbolsMax()).filter((dataGatheringItem) => { return ( dataGatheringItem.dataSource === dataSource &&