Browse Source

add initialization check to DataProviderService by `isInitialized` flag to prevent multiple initializations

pull/4944/head
github-actions[bot] 2 weeks ago
committed by Renegade Solutions
parent
commit
390e455fb1
  1. 10
      apps/api/src/services/data-provider/data-provider.service.ts

10
apps/api/src/services/data-provider/data-provider.service.ts

@ -29,7 +29,7 @@ import {
import { hasRole } from '@ghostfolio/common/permissions';
import type { Granularity, UserWithSettings } from '@ghostfolio/common/types';
import { Inject, Injectable, Logger } from '@nestjs/common';
import { Inject, Injectable, Logger, OnModuleInit } from '@nestjs/common';
import { DataSource, MarketData, SymbolProfile } from '@prisma/client';
import { Big } from 'big.js';
import { eachDayOfInterval, format, isBefore, isValid } from 'date-fns';
@ -37,7 +37,7 @@ import { groupBy, isEmpty, isNumber, uniqWith } from 'lodash';
import ms from 'ms';
@Injectable()
export class DataProviderService {
export class DataProviderService implements OnModuleInit {
private dataProviderMapping: { [dataProviderName: string]: string };
public constructor(
@ -48,11 +48,9 @@ export class DataProviderService {
private readonly prismaService: PrismaService,
private readonly propertyService: PropertyService,
private readonly redisCacheService: RedisCacheService
) {
this.initialize();
}
) {}
public async initialize() {
public async onModuleInit() {
this.dataProviderMapping =
((await this.propertyService.getByKey(PROPERTY_DATA_SOURCE_MAPPING)) as {
[dataProviderName: string]: string;

Loading…
Cancel
Save