Bugfix/fix currency inconsistency with GBX and GBp in eod historical data service (#1869)

* Fix currency inconsistency (GBX vs. GBp)

* Update changelog
pull/1871/head^2
Thomas Kaul 2 years ago committed by GitHub
parent 9be457943c
commit 7378900050
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Introduced the allocations by ETF provider chart on the allocations page - Introduced the allocations by ETF provider chart on the allocations page
### Fixed
- Fixed an issue with the currency inconsistency in the _EOD Historical Data_ service (convert from `GBX` to `GBp`)
## 1.256.0 - 2023-04-17 ## 1.256.0 - 2023-04-17
### Added ### Added

@ -40,7 +40,7 @@ export class EodHistoricalDataService implements DataProviderInterface {
return { return {
assetClass: searchResult?.assetClass, assetClass: searchResult?.assetClass,
assetSubClass: searchResult?.assetSubClass, assetSubClass: searchResult?.assetSubClass,
currency: searchResult?.currency, currency: this.convertCurrency(searchResult?.currency),
dataSource: this.getName(), dataSource: this.getName(),
isin: searchResult?.isin, isin: searchResult?.isin,
name: searchResult?.name, name: searchResult?.name,
@ -147,7 +147,7 @@ export class EodHistoricalDataService implements DataProviderInterface {
{ close, code, timestamp } { close, code, timestamp }
) => { ) => {
result[code] = { result[code] = {
currency: searchResponse?.items[0]?.currency, currency: this.convertCurrency(searchResponse?.items[0]?.currency),
dataSource: DataSource.EOD_HISTORICAL_DATA, dataSource: DataSource.EOD_HISTORICAL_DATA,
marketPrice: close, marketPrice: close,
marketState: isToday(new Date(timestamp * 1000)) ? 'open' : 'closed' marketState: isToday(new Date(timestamp * 1000)) ? 'open' : 'closed'
@ -184,16 +184,26 @@ export class EodHistoricalDataService implements DataProviderInterface {
return { return {
assetClass, assetClass,
assetSubClass, assetSubClass,
currency,
dataSource, dataSource,
name, name,
symbol symbol,
currency: this.convertCurrency(currency)
}; };
} }
) )
}; };
} }
private convertCurrency(aCurrency: string) {
let currency = aCurrency;
if (currency === 'GBX') {
currency = 'GBp';
}
return currency;
}
private async getSearchResult(aQuery: string): Promise< private async getSearchResult(aQuery: string): Promise<
(LookupItem & { (LookupItem & {
assetClass: AssetClass; assetClass: AssetClass;
@ -213,14 +223,7 @@ export class EodHistoricalDataService implements DataProviderInterface {
const response = await get(); const response = await get();
searchResult = response.map( searchResult = response.map(
({ ({ Code, Currency, Exchange, ISIN: isin, Name: name, Type }) => {
Code,
Currency: currency,
Exchange,
ISIN: isin,
Name: name,
Type
}) => {
const { assetClass, assetSubClass } = this.parseAssetClass({ const { assetClass, assetSubClass } = this.parseAssetClass({
Exchange, Exchange,
Type Type
@ -229,9 +232,9 @@ export class EodHistoricalDataService implements DataProviderInterface {
return { return {
assetClass, assetClass,
assetSubClass, assetSubClass,
currency,
isin, isin,
name, name,
currency: this.convertCurrency(Currency),
dataSource: this.getName(), dataSource: this.getName(),
symbol: `${Code}.${Exchange}` symbol: `${Code}.${Exchange}`
}; };

Loading…
Cancel
Save