Browse Source

Improve currency code validation

pull/4598/head
Thomas Kaul 4 months ago
parent
commit
94e15c7f44
  1. 17
      apps/api/src/validators/is-currency-code.ts

17
apps/api/src/validators/is-currency-code.ts

@ -25,19 +25,20 @@ export class IsExtendedCurrencyConstraint
implements ValidatorConstraintInterface implements ValidatorConstraintInterface
{ {
public defaultMessage() { public defaultMessage() {
return '$value must be a valid ISO4217 currency code'; return '$property must be a valid ISO4217 currency code';
} }
public validate(currency: any) { public validate(currency: any) {
// Return true if currency is a standard ISO 4217 code or a derived currency // Return true if currency is a standard ISO 4217 code or a derived currency
return ( return (
isISO4217CurrencyCode(currency) || /^[A-Z]+$/.test(currency) &&
[ (isISO4217CurrencyCode(currency) ||
...DERIVED_CURRENCIES.map((derivedCurrency) => { [
return derivedCurrency.currency; ...DERIVED_CURRENCIES.map((derivedCurrency) => {
}), return derivedCurrency.currency;
'USX' }),
].includes(currency) 'USX'
].includes(currency))
); );
} }
} }

Loading…
Cancel
Save