Feature/improve asset profile validation in activities import for manual data source (#2886)
* Improve asset profile validation for MANUAL data source * Update changelog
This commit is contained in:
parent
d46de0a15e
commit
bff60ddbe0
@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Added the holdings table to the account detail dialog
|
- Added the holdings table to the account detail dialog
|
||||||
- Validated the currency of the search results in the _EOD Historical Data_ service
|
- Validated the currency of the search results in the _EOD Historical Data_ service
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Improved the asset profile validation for `MANUAL` data source in the activities import
|
||||||
|
|
||||||
## 2.40.0 - 2024-01-15
|
## 2.40.0 - 2024-01-15
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
@ -583,34 +583,32 @@ export class ImportService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dataSource !== 'MANUAL') {
|
const assetProfile = (
|
||||||
const assetProfile = (
|
await this.dataProviderService.getAssetProfiles([
|
||||||
await this.dataProviderService.getAssetProfiles([
|
{ dataSource, symbol }
|
||||||
{ dataSource, symbol }
|
])
|
||||||
])
|
)?.[symbol];
|
||||||
)?.[symbol];
|
|
||||||
|
|
||||||
if (!assetProfile?.name) {
|
if (!assetProfile?.name) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`activities.${index}.symbol ("${symbol}") is not valid for the specified data source ("${dataSource}")`
|
`activities.${index}.symbol ("${symbol}") is not valid for the specified data source ("${dataSource}")`
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
|
||||||
assetProfile.currency !== currency &&
|
|
||||||
!this.exchangeRateDataService.hasCurrencyPair(
|
|
||||||
currency,
|
|
||||||
assetProfile.currency
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
throw new Error(
|
|
||||||
`activities.${index}.currency ("${currency}") does not match with "${assetProfile.currency}" and no exchange rate is available from "${currency}" to "${assetProfile.currency}"`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
assetProfiles[getAssetProfileIdentifier({ dataSource, symbol })] =
|
|
||||||
assetProfile;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
assetProfile.currency !== currency &&
|
||||||
|
!this.exchangeRateDataService.hasCurrencyPair(
|
||||||
|
currency,
|
||||||
|
assetProfile.currency
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
throw new Error(
|
||||||
|
`activities.${index}.currency ("${currency}") does not match with "${assetProfile.currency}" and no exchange rate is available from "${currency}" to "${assetProfile.currency}"`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
assetProfiles[getAssetProfileIdentifier({ dataSource, symbol })] =
|
||||||
|
assetProfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
return assetProfiles;
|
return assetProfiles;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user