Browse Source
Feature/improve exchange rate service for specific date (#1785)
* Calculate exchange rate indirectly via base currency
* Update changelog
pull/1786/head
Thomas Kaul
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
24 additions and
2 deletions
-
CHANGELOG.md
-
apps/api/src/services/exchange-rate-data.service.ts
|
|
@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
|
|
|
### Changed |
|
|
|
|
|
|
|
- Improved the usability of the _FIRE_ calculator |
|
|
|
- Improved the exchange rate service for a specific date used in activities with a manual currency |
|
|
|
- Upgraded `ngx-device-detector` from version `3.0.0` to `5.0.1` |
|
|
|
|
|
|
|
## 1.244.0 - 2023-03-09 |
|
|
|
|
|
@ -183,8 +183,29 @@ export class ExchangeRateDataService { |
|
|
|
if (marketData?.marketPrice) { |
|
|
|
factor = marketData?.marketPrice; |
|
|
|
} else { |
|
|
|
// TODO: Get from data provider service or calculate indirectly via base currency
|
|
|
|
// and market data
|
|
|
|
// Calculate indirectly via base currency
|
|
|
|
try { |
|
|
|
const [ |
|
|
|
{ marketPrice: marketPriceBaseCurrencyFromCurrency }, |
|
|
|
{ marketPrice: marketPriceBaseCurrencyToCurrency } |
|
|
|
] = await Promise.all([ |
|
|
|
this.marketDataService.get({ |
|
|
|
dataSource, |
|
|
|
date: aDate, |
|
|
|
symbol: `${this.baseCurrency}${aFromCurrency}` |
|
|
|
}), |
|
|
|
this.marketDataService.get({ |
|
|
|
dataSource, |
|
|
|
date: aDate, |
|
|
|
symbol: `${this.baseCurrency}${aToCurrency}` |
|
|
|
}) |
|
|
|
]); |
|
|
|
|
|
|
|
// Calculate the opposite direction
|
|
|
|
factor = |
|
|
|
(1 / marketPriceBaseCurrencyFromCurrency) * |
|
|
|
marketPriceBaseCurrencyToCurrency; |
|
|
|
} catch {} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|