Browse Source

Calculate exchange rate indirectly via base currency

pull/1785/head
Thomas 3 years ago
parent
commit
c83a54d20e
  1. 25
      apps/api/src/services/exchange-rate-data.service.ts

25
apps/api/src/services/exchange-rate-data.service.ts

@ -183,8 +183,29 @@ export class ExchangeRateDataService {
if (marketData?.marketPrice) { if (marketData?.marketPrice) {
factor = marketData?.marketPrice; factor = marketData?.marketPrice;
} else { } else {
// TODO: Get from data provider service or calculate indirectly via base currency // Calculate indirectly via base currency
// and market data try {
const [
{ marketPrice: marketPriceBaseCurrencyFromCurrency },
{ marketPrice: marketPriceBaseCurrencyToCurrency }
] = await Promise.all([
this.marketDataService.get({
dataSource,
symbol: `${this.baseCurrency}${aFromCurrency}`,
date: aDate
}),
this.marketDataService.get({
dataSource,
symbol: `${this.baseCurrency}${aToCurrency}`,
date: aDate
})
]);
// Calculate the opposite direction
factor =
(1 / marketPriceBaseCurrencyFromCurrency) *
marketPriceBaseCurrencyToCurrency;
} catch {}
} }
} }

Loading…
Cancel
Save