import { ApiPropertyOptional } from '@nestjs/swagger'; import { OrderStatus } from '@prisma/client'; import { Transform, Type } from 'class-transformer'; import { IsDate, IsInt, IsNumber, IsOptional } from 'class-validator'; export class UpdateOrderDto { @ApiPropertyOptional() @IsOptional() @IsInt() @Transform(({ value }) => value !== undefined ? parseInt(value, 10) : undefined) id?: number; @ApiPropertyOptional() @IsOptional() @IsDate() @Type(() => Date) orderDate?: Date; @ApiPropertyOptional({ enum: OrderStatus, enumName: 'OrderStatus' }) @IsOptional() status?: OrderStatus; @ApiPropertyOptional() @IsOptional() @IsNumber() @Transform(({ value }) => value !== undefined ? parseFloat(value) : undefined) total?: number; @ApiPropertyOptional() @IsOptional() @IsInt() @Transform(({ value }) => value !== undefined ? parseInt(value, 10) : undefined) customerId?: number; @ApiPropertyOptional() @IsOptional() @IsDate() @Type(() => Date) createdAt?: Date; }