import { Transform } from 'class-transformer'; import { IsDateString, IsEnum, IsInt, IsOptional, IsString, IsUUID, Max, Min, ValidateIf } from 'class-validator'; import { LabTaskStatus } from '@prisma/client'; export class UpdateLabCaseTaskDto { @IsOptional() @ValidateIf((_, value) => value !== null) @IsUUID() assigneeUserId?: string | null; @IsOptional() @IsEnum(LabTaskStatus) status?: LabTaskStatus; } export class ListLabCasesDto { @IsOptional() @IsString() q?: string; @IsOptional() @IsUUID() clinicOrganizationId?: string; @IsOptional() @IsString() treatmentType?: string; @IsOptional() @IsDateString() sentFrom?: string; @IsOptional() @IsDateString() sentTo?: string; @IsOptional() @Transform(({ value }) => Number(value)) @IsInt() @Min(1) page = 1; @IsOptional() @Transform(({ value }) => Number(value)) @IsInt() @Min(1) @Max(100) limit = 20; }