diff --git a/apps/api/src/app/cache/cache.service.ts b/apps/api/src/app/cache/cache.service.ts index 7b7c25077..69c5fe66a 100644 --- a/apps/api/src/app/cache/cache.service.ts +++ b/apps/api/src/app/cache/cache.service.ts @@ -1,16 +1,13 @@ import { DataGatheringService } from '@ghostfolio/api/services/data-gathering.service'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { Injectable } from '@nestjs/common'; @Injectable() export class CacheService { public constructor( - private readonly dataGaterhingService: DataGatheringService, - private readonly exchangeRateDataService: ExchangeRateDataService + private readonly dataGaterhingService: DataGatheringService ) {} public async flush(): Promise { - await this.exchangeRateDataService.initialize(); await this.dataGaterhingService.reset(); return; diff --git a/apps/api/src/app/export/export.module.ts b/apps/api/src/app/export/export.module.ts index fca555a18..dd273c717 100644 --- a/apps/api/src/app/export/export.module.ts +++ b/apps/api/src/app/export/export.module.ts @@ -1,4 +1,3 @@ -import { CacheModule } from '@ghostfolio/api/app/cache/cache.module'; import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module'; import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module'; @@ -11,7 +10,6 @@ import { ExportService } from './export.service'; @Module({ imports: [ - CacheModule, ConfigurationModule, DataGatheringModule, DataProviderModule, diff --git a/apps/api/src/app/import/import.module.ts b/apps/api/src/app/import/import.module.ts index 148c44468..c7533980d 100644 --- a/apps/api/src/app/import/import.module.ts +++ b/apps/api/src/app/import/import.module.ts @@ -1,11 +1,9 @@ -import { CacheModule } from '@ghostfolio/api/app/cache/cache.module'; import { CacheService } from '@ghostfolio/api/app/cache/cache.service'; import { OrderService } from '@ghostfolio/api/app/order/order.service'; import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module'; import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module'; import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module'; -import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma.module'; import { Module } from '@nestjs/common'; @@ -14,11 +12,9 @@ import { ImportService } from './import.service'; @Module({ imports: [ - CacheModule, ConfigurationModule, DataGatheringModule, DataProviderModule, - ExchangeRateDataModule, PrismaModule, RedisCacheModule ], diff --git a/apps/api/src/app/info/info.module.ts b/apps/api/src/app/info/info.module.ts index 1c31cbee7..c1b8ee21e 100644 --- a/apps/api/src/app/info/info.module.ts +++ b/apps/api/src/app/info/info.module.ts @@ -5,7 +5,7 @@ import { DataProviderService } from '@ghostfolio/api/services/data-provider/data import { GhostfolioScraperApiService } from '@ghostfolio/api/services/data-provider/ghostfolio-scraper-api/ghostfolio-scraper-api.service'; import { RakutenRapidApiService } from '@ghostfolio/api/services/data-provider/rakuten-rapid-api/rakuten-rapid-api.service'; import { YahooFinanceService } from '@ghostfolio/api/services/data-provider/yahoo-finance/yahoo-finance.service'; -import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; +import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data.module'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; import { Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; @@ -15,6 +15,7 @@ import { InfoService } from './info.service'; @Module({ imports: [ + ExchangeRateDataModule, JwtModule.register({ secret: process.env.JWT_SECRET_KEY, signOptions: { expiresIn: '30 days' } @@ -26,7 +27,6 @@ import { InfoService } from './info.service'; ConfigurationService, DataGatheringService, DataProviderService, - ExchangeRateDataService, GhostfolioScraperApiService, InfoService, PrismaService, diff --git a/apps/api/src/app/order/order.module.ts b/apps/api/src/app/order/order.module.ts index d8a69bcd7..92a503d68 100644 --- a/apps/api/src/app/order/order.module.ts +++ b/apps/api/src/app/order/order.module.ts @@ -1,11 +1,9 @@ -import { CacheModule } from '@ghostfolio/api/app/cache/cache.module'; import { CacheService } from '@ghostfolio/api/app/cache/cache.service'; import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module'; import { UserModule } from '@ghostfolio/api/app/user/user.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module'; import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module'; import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module'; -import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data.module'; import { ImpersonationModule } from '@ghostfolio/api/services/impersonation.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma.module'; import { Module } from '@nestjs/common'; @@ -15,11 +13,9 @@ import { OrderService } from './order.service'; @Module({ imports: [ - CacheModule, ConfigurationModule, DataGatheringModule, DataProviderModule, - ExchangeRateDataModule, ImpersonationModule, PrismaModule, RedisCacheModule, diff --git a/apps/api/src/services/data-gathering.service.ts b/apps/api/src/services/data-gathering.service.ts index 599dca0ca..fb33823aa 100644 --- a/apps/api/src/services/data-gathering.service.ts +++ b/apps/api/src/services/data-gathering.service.ts @@ -231,6 +231,8 @@ export class DataGatheringService { } } + await this.exchangeRateDataService.initialize(); + if (hasError) { throw ''; } diff --git a/apps/api/src/services/exchange-rate-data.service.ts b/apps/api/src/services/exchange-rate-data.service.ts index b63c571da..16432cc14 100644 --- a/apps/api/src/services/exchange-rate-data.service.ts +++ b/apps/api/src/services/exchange-rate-data.service.ts @@ -23,7 +23,7 @@ export class ExchangeRateDataService { } public getCurrencies() { - return this.currencies; + return this.currencies?.length > 0 ? this.currencies : [baseCurrency]; } public getCurrencyPairs() { @@ -192,7 +192,7 @@ export class ExchangeRateDataService { } }); - return uniq(currencies); + return uniq(currencies).sort(); } private prepareCurrencyPairs(aCurrencies: string[]) {