From 3db52eaf29bd4f9778b7186ba74b142cb50f8db8 Mon Sep 17 00:00:00 2001 From: Anatoly Popov Date: Mon, 19 May 2025 00:02:02 +0300 Subject: [PATCH] feat: get an url for asset if yahoo has it Signed-off-by: Anatoly Popov --- .../services/data-provider/moex/moex.service.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/api/src/services/data-provider/moex/moex.service.ts b/apps/api/src/services/data-provider/moex/moex.service.ts index 626b4b4da..cc26410a6 100644 --- a/apps/api/src/services/data-provider/moex/moex.service.ts +++ b/apps/api/src/services/data-provider/moex/moex.service.ts @@ -183,6 +183,20 @@ function getYahooSymbolFromMoex(symbol: string): string { return `${symbol}.ME`; } +async function getAssetUrlFromYahoo( + yahooFinanceService: YahooFinanceService, + symbol: string +): Promise { + try { + const profile = await yahooFinanceService.getAssetProfile({ + symbol: getYahooSymbolFromMoex(symbol) + }); + return profile?.url; + } catch (e) { + Logger.warn(`Can't get url for symbol ${symbol} from YAHOO, error is ${e}`); + return null; + } +} async function getSecuritySpecification( symbol: string, @@ -366,7 +380,8 @@ export class MoexService implements DataProviderInterface { weight: 1 } ] - : null + : null, + url: await getAssetUrlFromYahoo(this.yahooFinanceService, symbol) }; }