Browse Source
Feature/skip data enhancement if data is inaccurate (#935)
* Skip data enhancer if data is inaccurate
* Update changelog
pull/936/head^2
Thomas Kaul
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
14 additions and
3 deletions
-
CHANGELOG.md
-
apps/api/src/services/data-provider/data-enhancer/trackinsight/trackinsight.service.ts
|
|
@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. |
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
|
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
|
|
|
|
|
|
|
## Unreleased |
|
|
|
|
|
|
|
### Changed |
|
|
|
|
|
|
|
- Skipped data enhancer (_Trackinsight_) if data is inaccurate |
|
|
|
|
|
|
|
## 1.149.0 - 16.05.2022 |
|
|
|
|
|
|
|
### Added |
|
|
|
|
|
@ -32,7 +32,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface { |
|
|
|
return response; |
|
|
|
} |
|
|
|
|
|
|
|
const holdings = await getJSON( |
|
|
|
const result = await getJSON( |
|
|
|
`${TrackinsightDataEnhancerService.baseUrl}/${symbol}.json` |
|
|
|
).catch(() => { |
|
|
|
return getJSON( |
|
|
@ -42,12 +42,17 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface { |
|
|
|
); |
|
|
|
}); |
|
|
|
|
|
|
|
if (result.weight < 0.95) { |
|
|
|
// Skip if data is inaccurate
|
|
|
|
return response; |
|
|
|
} |
|
|
|
|
|
|
|
if ( |
|
|
|
!response.countries || |
|
|
|
(response.countries as unknown as Country[]).length === 0 |
|
|
|
) { |
|
|
|
response.countries = []; |
|
|
|
for (const [name, value] of Object.entries<any>(holdings.countries)) { |
|
|
|
for (const [name, value] of Object.entries<any>(result.countries)) { |
|
|
|
let countryCode: string; |
|
|
|
|
|
|
|
for (const [key, country] of Object.entries<any>( |
|
|
@ -75,7 +80,7 @@ export class TrackinsightDataEnhancerService implements DataEnhancerInterface { |
|
|
|
(response.sectors as unknown as Sector[]).length === 0 |
|
|
|
) { |
|
|
|
response.sectors = []; |
|
|
|
for (const [name, value] of Object.entries<any>(holdings.sectors)) { |
|
|
|
for (const [name, value] of Object.entries<any>(result.sectors)) { |
|
|
|
response.sectors.push({ |
|
|
|
name: TrackinsightDataEnhancerService.sectorsMapping[name] ?? name, |
|
|
|
weight: value.weight |
|
|
|