import { AssetClass, AssetSubClass, DataSource, Tag, Type } from '@prisma/client'; import { IsArray, IsEnum, IsISO8601, IsNumber, IsOptional, IsString } from 'class-validator'; export class CreateOrderDto { @IsString() @IsOptional() accountId?: string; @IsEnum(AssetClass, { each: true }) @IsOptional() assetClass?: AssetClass; @IsEnum(AssetSubClass, { each: true }) @IsOptional() assetSubClass?: AssetSubClass; @IsString() currency: string; @IsEnum(DataSource, { each: true }) @IsOptional() dataSource?: DataSource; @IsISO8601() date: string; @IsNumber() fee: number; @IsNumber() quantity: number; @IsString() symbol: string; @IsArray() @IsOptional() tags?: Tag[]; @IsEnum(Type, { each: true }) type: Type; @IsNumber() unitPrice: number; }