scan-record.dto.ts 991 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { IsString, IsOptional, IsNumber, IsDateString, Min, Max } from 'class-validator'
  2. export class CreateScanRecordDto {
  3. @IsString()
  4. qrCode: string
  5. @IsOptional()
  6. @IsNumber()
  7. @Min(-90)
  8. @Max(90)
  9. latitude?: number
  10. @IsOptional()
  11. @IsNumber()
  12. @Min(-180)
  13. @Max(180)
  14. longitude?: number
  15. @IsOptional()
  16. @IsString()
  17. address?: string
  18. @IsOptional()
  19. @IsString()
  20. ipAddress?: string
  21. @IsOptional()
  22. @IsString()
  23. userAgent?: string
  24. }
  25. export class QueryScanRecordDto {
  26. @IsString()
  27. qrCode: string
  28. @IsOptional()
  29. @IsString()
  30. maintenanceCode?: string
  31. @IsOptional()
  32. @IsNumber()
  33. limit?: number = 10
  34. }
  35. export class QueryScanRecordWithPaginationDto {
  36. @IsOptional()
  37. @IsString()
  38. qrCode?: string
  39. @IsOptional()
  40. @IsDateString()
  41. startDate?: string
  42. @IsOptional()
  43. @IsDateString()
  44. endDate?: string
  45. @IsOptional()
  46. @IsNumber()
  47. @Min(1)
  48. page?: number = 1
  49. @IsOptional()
  50. @IsNumber()
  51. @Min(1)
  52. @Max(100)
  53. pageSize?: number = 20
  54. }