Browse Source

Improve update of exchange rate

pull/387/head
Thomas 4 years ago
parent
commit
c59fadacf8
  1. 5
      apps/api/src/app/cache/cache.service.ts
  2. 2
      apps/api/src/app/export/export.module.ts
  3. 4
      apps/api/src/app/import/import.module.ts
  4. 4
      apps/api/src/app/info/info.module.ts
  5. 4
      apps/api/src/app/order/order.module.ts
  6. 2
      apps/api/src/services/data-gathering.service.ts
  7. 4
      apps/api/src/services/exchange-rate-data.service.ts

5
apps/api/src/app/cache/cache.service.ts

@ -1,16 +1,13 @@
import { DataGatheringService } from '@ghostfolio/api/services/data-gathering.service'; import { DataGatheringService } from '@ghostfolio/api/services/data-gathering.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service';
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
@Injectable() @Injectable()
export class CacheService { export class CacheService {
public constructor( public constructor(
private readonly dataGaterhingService: DataGatheringService, private readonly dataGaterhingService: DataGatheringService
private readonly exchangeRateDataService: ExchangeRateDataService
) {} ) {}
public async flush(): Promise<void> { public async flush(): Promise<void> {
await this.exchangeRateDataService.initialize();
await this.dataGaterhingService.reset(); await this.dataGaterhingService.reset();
return; return;

2
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 { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module';
import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module'; import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module';
@ -11,7 +10,6 @@ import { ExportService } from './export.service';
@Module({ @Module({
imports: [ imports: [
CacheModule,
ConfigurationModule, ConfigurationModule,
DataGatheringModule, DataGatheringModule,
DataProviderModule, DataProviderModule,

4
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 { CacheService } from '@ghostfolio/api/app/cache/cache.service';
import { OrderService } from '@ghostfolio/api/app/order/order.service'; import { OrderService } from '@ghostfolio/api/app/order/order.service';
import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module'; import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module';
import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module'; import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module';
import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.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 { PrismaModule } from '@ghostfolio/api/services/prisma.module';
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
@ -14,11 +12,9 @@ import { ImportService } from './import.service';
@Module({ @Module({
imports: [ imports: [
CacheModule,
ConfigurationModule, ConfigurationModule,
DataGatheringModule, DataGatheringModule,
DataProviderModule, DataProviderModule,
ExchangeRateDataModule,
PrismaModule, PrismaModule,
RedisCacheModule RedisCacheModule
], ],

4
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 { 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 { 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 { 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 { PrismaService } from '@ghostfolio/api/services/prisma.service';
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { JwtModule } from '@nestjs/jwt'; import { JwtModule } from '@nestjs/jwt';
@ -15,6 +15,7 @@ import { InfoService } from './info.service';
@Module({ @Module({
imports: [ imports: [
ExchangeRateDataModule,
JwtModule.register({ JwtModule.register({
secret: process.env.JWT_SECRET_KEY, secret: process.env.JWT_SECRET_KEY,
signOptions: { expiresIn: '30 days' } signOptions: { expiresIn: '30 days' }
@ -26,7 +27,6 @@ import { InfoService } from './info.service';
ConfigurationService, ConfigurationService,
DataGatheringService, DataGatheringService,
DataProviderService, DataProviderService,
ExchangeRateDataService,
GhostfolioScraperApiService, GhostfolioScraperApiService,
InfoService, InfoService,
PrismaService, PrismaService,

4
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 { CacheService } from '@ghostfolio/api/app/cache/cache.service';
import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module'; import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module';
import { UserModule } from '@ghostfolio/api/app/user/user.module'; import { UserModule } from '@ghostfolio/api/app/user/user.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module';
import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module'; import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module';
import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.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 { ImpersonationModule } from '@ghostfolio/api/services/impersonation.module';
import { PrismaModule } from '@ghostfolio/api/services/prisma.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma.module';
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
@ -15,11 +13,9 @@ import { OrderService } from './order.service';
@Module({ @Module({
imports: [ imports: [
CacheModule,
ConfigurationModule, ConfigurationModule,
DataGatheringModule, DataGatheringModule,
DataProviderModule, DataProviderModule,
ExchangeRateDataModule,
ImpersonationModule, ImpersonationModule,
PrismaModule, PrismaModule,
RedisCacheModule, RedisCacheModule,

2
apps/api/src/services/data-gathering.service.ts

@ -231,6 +231,8 @@ export class DataGatheringService {
} }
} }
await this.exchangeRateDataService.initialize();
if (hasError) { if (hasError) {
throw ''; throw '';
} }

4
apps/api/src/services/exchange-rate-data.service.ts

@ -23,7 +23,7 @@ export class ExchangeRateDataService {
} }
public getCurrencies() { public getCurrencies() {
return this.currencies; return this.currencies?.length > 0 ? this.currencies : [baseCurrency];
} }
public getCurrencyPairs() { public getCurrencyPairs() {
@ -192,7 +192,7 @@ export class ExchangeRateDataService {
} }
}); });
return uniq(currencies); return uniq(currencies).sort();
} }
private prepareCurrencyPairs(aCurrencies: string[]) { private prepareCurrencyPairs(aCurrencies: string[]) {

Loading…
Cancel
Save