Browse Source

Improvements after code review

pull/105/head
Thomas 4 years ago
parent
commit
a1ec3740a5
  1. 4
      apps/api/src/app/symbol/symbol.controller.ts
  2. 8
      apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts

4
apps/api/src/app/symbol/symbol.controller.ts

@ -28,7 +28,9 @@ export class SymbolController {
*/ */
@Get('lookup') @Get('lookup')
@UseGuards(AuthGuard('jwt')) @UseGuards(AuthGuard('jwt'))
public async lookupSymbol(@Query() { query }): Promise<LookupItem[]> { public async lookupSymbol(
@Query() { query }
): Promise<{ items: LookupItem[] }> {
try { try {
return this.symbolService.lookup(query); return this.symbolService.lookup(query);
} catch { } catch {

8
apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts

@ -24,6 +24,8 @@ import {
@Injectable() @Injectable()
export class YahooFinanceService implements DataProviderInterface { export class YahooFinanceService implements DataProviderInterface {
private yahooFinanceHostname = 'https://query1.finance.yahoo.com';
public constructor() {} public constructor() {}
public async get( public async get(
@ -143,15 +145,15 @@ export class YahooFinanceService implements DataProviderInterface {
try { try {
const get = bent( const get = bent(
`https://query1.finance.yahoo.com/v1/finance/search?q=${aSymbol}&lang=en-US&region=US&quotesCount=8&newsCount=0&enableFuzzyQuery=false&quotesQueryId=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&region=US&quotesCount=8&newsCount=0&enableFuzzyQuery=false&quotesQueryId=tss_match_phrase_query&multiQuoteQueryId=multi_quote_single_token_query&newsQueryId=news_cie_vespa&enableCb=true&enableNavLinks=false&enableEnhancedTrivialQuery=true`,
'GET', 'GET',
'json', 'json',
200 200
); );
const result = await get(); const result = await get();
items = result?.quotes items = result.quotes
?.filter((quote) => { .filter((quote) => {
return quote.isYahooFinance; return quote.isYahooFinance;
}) })
.filter(({ quoteType }) => { .filter(({ quoteType }) => {

Loading…
Cancel
Save