list-simulation-templates-query.dto.ts 573 B

12345678910111213141516171819202122232425
  1. import { Transform } from 'class-transformer';
  2. import { IsEnum, IsInt, IsOptional, IsString, Min } from 'class-validator';
  3. export class ListSimulationTemplateOptionsQueryDto {
  4. @IsEnum(['STYLIST', 'SYSTEM'])
  5. source!: 'STYLIST' | 'SYSTEM';
  6. @IsOptional()
  7. @IsEnum(['LONG', 'MEDIUM', 'SHORT', 'DYE'])
  8. category?: 'LONG' | 'MEDIUM' | 'SHORT' | 'DYE';
  9. @IsOptional()
  10. @IsString()
  11. q?: string;
  12. @Transform(({ value }) => Number(value ?? 1))
  13. @IsInt()
  14. @Min(1)
  15. page = 1;
  16. @Transform(({ value }) => Number(value ?? 12))
  17. @IsInt()
  18. @Min(1)
  19. pageSize = 12;
  20. }