Bugfix/allow GBp in currency code validation (#4640)

* Allow GBp in currency code validation

* Update changelog
This commit is contained in:
Thomas Kaul 2025-05-02 16:09:27 +02:00 committed by GitHub
parent e314efb2e1
commit 6bb85c4fb8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 12 deletions

View File

@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improved the language localization for Français (`fr`)
### Fixed
- Fixed the currency code validation by allowing `GBp`
## 2.158.0 - 2025-04-30
### Added

View File

@ -1,4 +1,4 @@
import { DERIVED_CURRENCIES } from '@ghostfolio/common/config';
import { isDerivedCurrency } from '@ghostfolio/common/helper';
import {
registerDecorator,
@ -28,17 +28,11 @@ export class IsExtendedCurrencyConstraint
return '$property must be a valid ISO4217 currency code';
}
public validate(currency: any) {
// Return true if currency is a standard ISO 4217 code or a derived currency
public validate(currency: string) {
// Return true if currency is a derived currency or a standard ISO 4217 code
return (
this.isUpperCase(currency) &&
(isISO4217CurrencyCode(currency) ||
[
...DERIVED_CURRENCIES.map((derivedCurrency) => {
return derivedCurrency.currency;
}),
'USX'
].includes(currency))
isDerivedCurrency(currency) ||
(this.isUpperCase(currency) && isISO4217CurrencyCode(currency))
);
}

View File

@ -349,7 +349,7 @@ export function isDerivedCurrency(aCurrency: string) {
return true;
}
return DERIVED_CURRENCIES.find(({ currency }) => {
return DERIVED_CURRENCIES.some(({ currency }) => {
return currency === aCurrency;
});
}