Browse Source

Bugfix/add fallback if exchange service is not initialized (#264)

* Add fallback and log error

* Update changelog
pull/279/head
Thomas 3 years ago
committed by GitHub
parent
commit
37358fb480
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      CHANGELOG.md
  2. 11
      apps/api/src/services/exchange-rate-data.service.ts

6
CHANGELOG.md

@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Fixed
- Added a fallback if the exchange rate service has not been initialized correctly
## Unreleased
### Changed ### Changed
- Hid the pagination of tabs - Hid the pagination of tabs

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

@ -2,6 +2,7 @@ import { DATE_FORMAT, getYesterday } from '@ghostfolio/common/helper';
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { Currency } from '@prisma/client'; import { Currency } from '@prisma/client';
import { format } from 'date-fns'; import { format } from 'date-fns';
import { isNumber } from 'lodash';
import { DataProviderService } from './data-provider.service'; import { DataProviderService } from './data-provider.service';
@ -83,7 +84,15 @@ export class ExchangeRateDataService {
factor = this.currencies[`${aFromCurrency}${aToCurrency}`]; factor = this.currencies[`${aFromCurrency}${aToCurrency}`];
} }
return factor * aValue; if (isNumber(factor)) {
return factor * aValue;
}
// Fallback with error, if currencies are not available
console.error(
`No exchange rate has been found for ${aFromCurrency}${aToCurrency}`
);
return aValue;
} }
private addPairs(aCurrency1: Currency, aCurrency2: Currency) { private addPairs(aCurrency1: Currency, aCurrency2: Currency) {

Loading…
Cancel
Save