diff --git a/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts b/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts index b0e06866a..f188a9006 100644 --- a/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts +++ b/apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts @@ -36,12 +36,14 @@ export class AlphaVantageService implements DataProviderInterface { return !!this.configurationService.get('API_KEY_ALPHA_VANTAGE'); } - public async getAssetProfile( - aSymbol: string - ): Promise> { + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { return { - dataSource: this.getName(), - symbol: aSymbol + symbol, + dataSource: this.getName() }; } diff --git a/apps/api/src/services/data-provider/coingecko/coingecko.service.ts b/apps/api/src/services/data-provider/coingecko/coingecko.service.ts index 9a0f4aa44..6849eb0ec 100644 --- a/apps/api/src/services/data-provider/coingecko/coingecko.service.ts +++ b/apps/api/src/services/data-provider/coingecko/coingecko.service.ts @@ -51,15 +51,17 @@ export class CoinGeckoService implements DataProviderInterface { return true; } - public async getAssetProfile( - aSymbol: string - ): Promise> { + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { const response: Partial = { + symbol, assetClass: AssetClass.CASH, assetSubClass: AssetSubClass.CRYPTOCURRENCY, currency: DEFAULT_CURRENCY, - dataSource: this.getName(), - symbol: aSymbol + dataSource: this.getName() }; try { @@ -69,7 +71,7 @@ export class CoinGeckoService implements DataProviderInterface { abortController.abort(); }, this.configurationService.get('REQUEST_TIMEOUT')); - const { name } = await got(`${this.apiUrl}/coins/${aSymbol}`, { + const { name } = await got(`${this.apiUrl}/coins/${symbol}`, { headers: this.headers, // @ts-ignore signal: abortController.signal @@ -80,7 +82,7 @@ export class CoinGeckoService implements DataProviderInterface { let message = error; if (error?.code === 'ABORT_ERR') { - message = `RequestError: The operation to get the asset profile for ${aSymbol} was aborted because the request to the data provider took more than ${this.configurationService.get( + message = `RequestError: The operation to get the asset profile for ${symbol} was aborted because the request to the data provider took more than ${this.configurationService.get( 'REQUEST_TIMEOUT' )}ms`; } diff --git a/apps/api/src/services/data-provider/data-provider.service.ts b/apps/api/src/services/data-provider/data-provider.service.ts index 8868501d9..f55b710ac 100644 --- a/apps/api/src/services/data-provider/data-provider.service.ts +++ b/apps/api/src/services/data-provider/data-provider.service.ts @@ -91,7 +91,9 @@ export class DataProviderService { for (const symbol of symbols) { const promise = Promise.resolve( - this.getDataProvider(DataSource[dataSource]).getAssetProfile(symbol) + this.getDataProvider(DataSource[dataSource]).getAssetProfile({ + symbol + }) ); promises.push( diff --git a/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts b/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts index a1b1e8d97..9a6c77543 100644 --- a/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts +++ b/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts @@ -43,19 +43,21 @@ export class EodHistoricalDataService implements DataProviderInterface { return true; } - public async getAssetProfile( - aSymbol: string - ): Promise> { - const [searchResult] = await this.getSearchResult(aSymbol); + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { + const [searchResult] = await this.getSearchResult(symbol); return { + symbol, assetClass: searchResult?.assetClass, assetSubClass: searchResult?.assetSubClass, currency: this.convertCurrency(searchResult?.currency), dataSource: this.getName(), isin: searchResult?.isin, - name: searchResult?.name, - symbol: aSymbol + name: searchResult?.name }; } diff --git a/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts b/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts index cbea38aec..0bed4b5d8 100644 --- a/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts +++ b/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts @@ -36,12 +36,14 @@ export class FinancialModelingPrepService implements DataProviderInterface { return true; } - public async getAssetProfile( - aSymbol: string - ): Promise> { + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { return { - dataSource: this.getName(), - symbol: aSymbol + symbol, + dataSource: this.getName() }; } diff --git a/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts b/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts index d9f4115e0..7906fa2d9 100644 --- a/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts +++ b/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts @@ -32,12 +32,14 @@ export class GoogleSheetsService implements DataProviderInterface { return true; } - public async getAssetProfile( - aSymbol: string - ): Promise> { + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { return { - dataSource: this.getName(), - symbol: aSymbol + symbol, + dataSource: this.getName() }; } diff --git a/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts b/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts index 924605f09..dc609abf6 100644 --- a/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts +++ b/apps/api/src/services/data-provider/interfaces/data-provider.interface.ts @@ -10,7 +10,11 @@ import { DataSource, SymbolProfile } from '@prisma/client'; export interface DataProviderInterface { canHandle(symbol: string): boolean; - getAssetProfile(aSymbol: string): Promise>; + getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise>; getDataProviderInfo(): DataProviderInfo; diff --git a/apps/api/src/services/data-provider/manual/manual.service.ts b/apps/api/src/services/data-provider/manual/manual.service.ts index 33d93bbe2..d5f7b8fc2 100644 --- a/apps/api/src/services/data-provider/manual/manual.service.ts +++ b/apps/api/src/services/data-provider/manual/manual.service.ts @@ -42,16 +42,18 @@ export class ManualService implements DataProviderInterface { return true; } - public async getAssetProfile( - aSymbol: string - ): Promise> { + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { const assetProfile: Partial = { - dataSource: this.getName(), - symbol: aSymbol + symbol, + dataSource: this.getName() }; const [symbolProfile] = await this.symbolProfileService.getSymbolProfiles([ - { dataSource: this.getName(), symbol: aSymbol } + { symbol, dataSource: this.getName() } ]); if (symbolProfile) { diff --git a/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts b/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts index f684a4631..450faaafc 100644 --- a/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts +++ b/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts @@ -29,12 +29,14 @@ export class RapidApiService implements DataProviderInterface { return !!this.configurationService.get('API_KEY_RAPID_API'); } - public async getAssetProfile( - aSymbol: string - ): Promise> { + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { return { - dataSource: this.getName(), - symbol: aSymbol + symbol, + dataSource: this.getName() }; } diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index 335162023..41af9b15e 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -32,11 +32,13 @@ export class YahooFinanceService implements DataProviderInterface { return true; } - public async getAssetProfile( - aSymbol: string - ): Promise> { - const { assetClass, assetSubClass, currency, name, symbol } = - await this.yahooFinanceDataEnhancerService.getAssetProfile(aSymbol); + public async getAssetProfile({ + symbol + }: { + symbol: string; + }): Promise> { + const { assetClass, assetSubClass, currency, name } = + await this.yahooFinanceDataEnhancerService.getAssetProfile(symbol); return { assetClass,