import { Transform } from 'class-transformer'; import { IsIn, IsInt, IsOptional, IsUUID, Max, Min } from 'class-validator'; export const ACT_ADMIN_STATES = [ 'ALL', 'NEW', 'WAITING_RESPONSE', 'DUE_SOON', 'OVERDUE', 'RESPONSE_RECEIVED', 'VERIFICATION_PENDING', 'COMMITMENT_OVERDUE', 'REGULARIZED', ] as const; export type ActAdministrationState = typeof ACT_ADMIN_STATES[number]; export class ListActAdministrationQueryDto { @IsOptional() @IsIn(ACT_ADMIN_STATES) state?: ActAdministrationState; @IsOptional() @IsUUID('4') areaId?: string; @IsOptional() @IsUUID('4') companyId?: string; @IsOptional() @Transform(({ value }) => Number(value)) @IsInt() @Min(1) page?: number; @IsOptional() @Transform(({ value }) => Number(value)) @IsInt() @Min(1) @Max(100) pageSize?: number; }