From a1ec3740a5e3bc9ce937cfd8e5f376676f7bcaf6 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Tue, 18 May 2021 20:02:23 +0200 Subject: [PATCH] Improvements after code review --- apps/api/src/app/symbol/symbol.controller.ts | 4 +++- .../data-provider/yahoo-finance/yahoo-finance.service.ts | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/api/src/app/symbol/symbol.controller.ts b/apps/api/src/app/symbol/symbol.controller.ts index 33a22286e..adea22187 100644 --- a/apps/api/src/app/symbol/symbol.controller.ts +++ b/apps/api/src/app/symbol/symbol.controller.ts @@ -28,7 +28,9 @@ export class SymbolController { */ @Get('lookup') @UseGuards(AuthGuard('jwt')) - public async lookupSymbol(@Query() { query }): Promise { + public async lookupSymbol( + @Query() { query } + ): Promise<{ items: LookupItem[] }> { try { return this.symbolService.lookup(query); } catch { 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 29134d904..19a969cbd 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 @@ -24,6 +24,8 @@ import { @Injectable() export class YahooFinanceService implements DataProviderInterface { + private yahooFinanceHostname = 'https://query1.finance.yahoo.com'; + public constructor() {} public async get( @@ -143,15 +145,15 @@ export class YahooFinanceService implements DataProviderInterface { try { const get = bent( - `https://query1.finance.yahoo.com/v1/finance/search?q=${aSymbol}&lang=en-US®ion=US"esCount=8&newsCount=0&enableFuzzyQuery=false"esQueryId=tss_match_phrase_query&multiQuoteQueryId=multi_quote_single_token_query&newsQueryId=news_cie_vespa&enableCb=true&enableNavLinks=false&enableEnhancedTrivialQuery=true`, + `${this.yahooFinanceHostname}/v1/finance/search?q=${aSymbol}&lang=en-US®ion=US"esCount=8&newsCount=0&enableFuzzyQuery=false"esQueryId=tss_match_phrase_query&multiQuoteQueryId=multi_quote_single_token_query&newsQueryId=news_cie_vespa&enableCb=true&enableNavLinks=false&enableEnhancedTrivialQuery=true`, 'GET', 'json', 200 ); const result = await get(); - items = result?.quotes - ?.filter((quote) => { + items = result.quotes + .filter((quote) => { return quote.isYahooFinance; }) .filter(({ quoteType }) => {