import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { Transform, TransformFnParams } from 'class-transformer'; import { ArrayUnique, IsArray, IsBoolean, IsNumber, IsOptional, IsString, ValidateIf } from 'class-validator'; import { isString } from 'lodash'; export class UpdateAccountDto { @IsNumber() balance: number; @IsOptional() @IsString() @Transform(({ value }: TransformFnParams) => isString(value) ? value.trim() : value ) comment?: string; @IsCurrencyCode() currency: string; @IsString() id: string; /** * @deprecated Use the "Exclude from Analysis" tag (`TAG_ID_EXCLUDE_FROM_ANALYSIS`) instead */ @IsBoolean() @IsOptional() isExcluded?: boolean; @IsString() name: string; @IsString() @ValidateIf((_object, value) => value !== null) platformId: string | null; @ArrayUnique() @IsArray() @IsOptional() @IsString({ each: true }) tags?: string[]; }