import { AccountType } from '@prisma/client'; import { Transform, TransformFnParams } from 'class-transformer'; import { IsBoolean, IsNumber, IsOptional, IsString, ValidateIf } from 'class-validator'; import { isString } from 'lodash'; export class UpdateAccountDto { @IsOptional() @IsString() accountType: AccountType; @IsNumber() balance: number; @IsOptional() @IsString() @Transform(({ value }: TransformFnParams) => isString(value) ? value.trim() : value ) comment?: string; @IsString() currency: string; @IsString() id: string; @IsBoolean() @IsOptional() isExcluded?: boolean; @IsString() name: string; @IsString() @ValidateIf((object, value) => value !== null) platformId: string | null; }