Browse Source

Feature/improve error handling in CoinGecko service (#4287)

* Improve error handling

* Update changelog
pull/4297/head
Thomas Kaul 1 month ago
committed by GitHub
parent
commit
5b786ba143
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 10
      apps/api/src/services/data-provider/coingecko/coingecko.service.ts

1
CHANGELOG.md

@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Improved the caching of the portfolio snapshot in the portfolio calculator by expiring cache entries when a user changes tags in the holding detail dialog
- Improved the error handling in the _CoinGecko_ service
- Improved the language localization for German (`de`)
- Upgraded `svgmap` from version `2.6.0` to `2.12.2`

10
apps/api/src/services/data-provider/coingecko/coingecko.service.ts

@ -112,7 +112,7 @@ export class CoinGeckoService implements DataProviderInterface {
[symbol: string]: { [date: string]: IDataProviderHistoricalResponse };
}> {
try {
const { prices } = await fetch(
const { error, prices, status } = await fetch(
`${
this.apiUrl
}/coins/${symbol}/market_chart/range?vs_currency=${DEFAULT_CURRENCY.toLowerCase()}&from=${getUnixTime(
@ -124,6 +124,14 @@ export class CoinGeckoService implements DataProviderInterface {
}
).then((res) => res.json());
if (error?.status) {
throw new Error(error.status.error_message);
}
if (status) {
throw new Error(status.error_message);
}
const result: {
[symbol: string]: { [date: string]: IDataProviderHistoricalResponse };
} = {

Loading…
Cancel
Save