goods-info.dto.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import { IsString, IsOptional, IsEmail, Length, MaxLength, IsNumber, IsDateString, Min } from 'class-validator'
  2. export class CreateGoodsInfoDto {
  3. @IsString()
  4. qrCode: string
  5. @IsOptional()
  6. @IsString()
  7. @MaxLength(500)
  8. photoUrl?: string
  9. @IsString()
  10. @Length(1, 100)
  11. name: string
  12. @IsString()
  13. @Length(1, 100)
  14. contactName: string
  15. @IsString()
  16. @Length(1, 20)
  17. contactPhone: string
  18. @IsOptional()
  19. @IsEmail()
  20. @MaxLength(100)
  21. contactEmail?: string
  22. }
  23. export class UpdateGoodsInfoDto {
  24. @IsString()
  25. qrCode: string
  26. @IsString()
  27. maintenanceCode: string
  28. @IsOptional()
  29. @IsString()
  30. @MaxLength(500)
  31. photoUrl?: string
  32. @IsOptional()
  33. @IsString()
  34. @Length(1, 100)
  35. name?: string
  36. @IsOptional()
  37. @IsString()
  38. @Length(1, 100)
  39. contactName?: string
  40. @IsOptional()
  41. @IsString()
  42. @Length(1, 20)
  43. contactPhone?: string
  44. @IsOptional()
  45. @IsEmail()
  46. @MaxLength(100)
  47. contactEmail?: string
  48. }
  49. export class QueryGoodsInfoDto {
  50. @IsOptional()
  51. @IsString()
  52. name?: string
  53. @IsOptional()
  54. @IsString()
  55. contactName?: string
  56. @IsOptional()
  57. @IsString()
  58. contactPhone?: string
  59. @IsOptional()
  60. @IsDateString()
  61. startDate?: string
  62. @IsOptional()
  63. @IsDateString()
  64. endDate?: string
  65. @IsOptional()
  66. @IsNumber()
  67. @Min(1)
  68. page?: number = 1
  69. @IsOptional()
  70. @IsNumber()
  71. @Min(1)
  72. pageSize?: number = 20
  73. }
  74. export class AdminUpdateGoodsInfoDto {
  75. @IsNumber()
  76. qrCodeId: number
  77. @IsOptional()
  78. @IsString()
  79. @MaxLength(500)
  80. photoUrl?: string
  81. @IsOptional()
  82. @IsString()
  83. @Length(1, 100)
  84. name?: string
  85. @IsOptional()
  86. @IsString()
  87. @Length(1, 100)
  88. contactName?: string
  89. @IsOptional()
  90. @IsString()
  91. @Length(1, 20)
  92. contactPhone?: string
  93. @IsOptional()
  94. @IsEmail()
  95. @MaxLength(100)
  96. contactEmail?: string
  97. }