From 40836b745b118b4a9b38533a9e38adf70914fda3 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 22 Feb 2024 20:25:22 +0100 Subject: [PATCH] Feature/improve validation for currency in endpoints (#3030) * Improve validation for currency * Update changelog --- CHANGELOG.md | 1 + apps/api/src/app/account/create-account.dto.ts | 3 ++- apps/api/src/app/account/update-account.dto.ts | 3 ++- apps/api/src/app/admin/update-asset-profile.dto.ts | 3 ++- apps/api/src/app/order/create-order.dto.ts | 3 ++- apps/api/src/app/order/update-order.dto.ts | 3 ++- apps/api/src/app/user/update-user-setting.dto.ts | 3 ++- 7 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9648e42..2fd01609 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Improved the validation for `currency` in various endpoints - Harmonized the setting of a default locale in various components - Set the parser to `angular` in the `prettier` options diff --git a/apps/api/src/app/account/create-account.dto.ts b/apps/api/src/app/account/create-account.dto.ts index a6e07ad8..b719c261 100644 --- a/apps/api/src/app/account/create-account.dto.ts +++ b/apps/api/src/app/account/create-account.dto.ts @@ -1,6 +1,7 @@ import { Transform, TransformFnParams } from 'class-transformer'; import { IsBoolean, + IsISO4217CurrencyCode, IsNumber, IsOptional, IsString, @@ -19,7 +20,7 @@ export class CreateAccountDto { ) comment?: string; - @IsString() + @IsISO4217CurrencyCode() currency: string; @IsOptional() diff --git a/apps/api/src/app/account/update-account.dto.ts b/apps/api/src/app/account/update-account.dto.ts index 16d55386..1b84a9bf 100644 --- a/apps/api/src/app/account/update-account.dto.ts +++ b/apps/api/src/app/account/update-account.dto.ts @@ -1,6 +1,7 @@ import { Transform, TransformFnParams } from 'class-transformer'; import { IsBoolean, + IsISO4217CurrencyCode, IsNumber, IsOptional, IsString, @@ -19,7 +20,7 @@ export class UpdateAccountDto { ) comment?: string; - @IsString() + @IsISO4217CurrencyCode() currency: string; @IsString() diff --git a/apps/api/src/app/admin/update-asset-profile.dto.ts b/apps/api/src/app/admin/update-asset-profile.dto.ts index 624acff9..4a045719 100644 --- a/apps/api/src/app/admin/update-asset-profile.dto.ts +++ b/apps/api/src/app/admin/update-asset-profile.dto.ts @@ -2,6 +2,7 @@ import { AssetClass, AssetSubClass, Prisma } from '@prisma/client'; import { IsArray, IsEnum, + IsISO4217CurrencyCode, IsObject, IsOptional, IsString @@ -24,7 +25,7 @@ export class UpdateAssetProfileDto { @IsOptional() countries?: Prisma.InputJsonArray; - @IsString() + @IsISO4217CurrencyCode() @IsOptional() currency?: string; diff --git a/apps/api/src/app/order/create-order.dto.ts b/apps/api/src/app/order/create-order.dto.ts index f25a7ee1..aecec842 100644 --- a/apps/api/src/app/order/create-order.dto.ts +++ b/apps/api/src/app/order/create-order.dto.ts @@ -10,6 +10,7 @@ import { IsArray, IsBoolean, IsEnum, + IsISO4217CurrencyCode, IsISO8601, IsNumber, IsOptional, @@ -38,7 +39,7 @@ export class CreateOrderDto { ) comment?: string; - @IsString() + @IsISO4217CurrencyCode() currency: string; @IsOptional() diff --git a/apps/api/src/app/order/update-order.dto.ts b/apps/api/src/app/order/update-order.dto.ts index 3123d566..c0a400c5 100644 --- a/apps/api/src/app/order/update-order.dto.ts +++ b/apps/api/src/app/order/update-order.dto.ts @@ -9,6 +9,7 @@ import { Transform, TransformFnParams } from 'class-transformer'; import { IsArray, IsEnum, + IsISO4217CurrencyCode, IsISO8601, IsNumber, IsOptional, @@ -37,7 +38,7 @@ export class UpdateOrderDto { ) comment?: string; - @IsString() + @IsISO4217CurrencyCode() currency: string; @IsString() diff --git a/apps/api/src/app/user/update-user-setting.dto.ts b/apps/api/src/app/user/update-user-setting.dto.ts index 317a3152..7b09ced1 100644 --- a/apps/api/src/app/user/update-user-setting.dto.ts +++ b/apps/api/src/app/user/update-user-setting.dto.ts @@ -7,6 +7,7 @@ import type { import { IsArray, IsBoolean, + IsISO4217CurrencyCode, IsISO8601, IsIn, IsNumber, @@ -19,8 +20,8 @@ export class UpdateUserSettingDto { @IsOptional() annualInterestRate?: number; + @IsISO4217CurrencyCode() @IsOptional() - @IsString() baseCurrency?: string; @IsString()