dto.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import { ApiProperty, ApiBody, PartialType } from '@nestjs/swagger';
  2. import { Exclude } from 'class-transformer';
  3. import {
  4. Allow,
  5. IsArray,
  6. IsBoolean,
  7. IsNotEmpty,
  8. IsNumber,
  9. IsOptional,
  10. IsString,
  11. Length,
  12. } from 'class-validator';
  13. export class CreateMenuDto {
  14. @ApiProperty()
  15. @IsString()
  16. @IsNotEmpty({ message: '标题不能为空' })
  17. @Length(1, 200, {
  18. message: `用户名长度必须大于$constraint1到$constraint2之间,当前传递的值是$value`,
  19. })
  20. title: string;
  21. @ApiProperty({ required: false })
  22. @IsString()
  23. @IsOptional()
  24. cover?: string;
  25. @ApiProperty({ required: true })
  26. @IsNumber()
  27. userId: number;
  28. @ApiProperty({ nullable: true, required: false, default: null })
  29. @IsNumber()
  30. @IsOptional()
  31. categoryId?: number;
  32. @ApiProperty({ required: false, default: true })
  33. @IsBoolean()
  34. @IsOptional()
  35. isPublish?: boolean;
  36. @ApiProperty({ required: false })
  37. @IsBoolean()
  38. @IsOptional()
  39. enable?: boolean;
  40. @ApiProperty({ nullable: true, required: false, default: null })
  41. @IsNumber()
  42. @IsOptional()
  43. parentId?: number;
  44. }
  45. export class GetMenuDto {
  46. @ApiProperty({ required: false })
  47. @Allow()
  48. pageSize?: number;
  49. @ApiProperty({ required: false })
  50. @Allow()
  51. pageNo?: number;
  52. @ApiProperty({ required: false })
  53. @Allow()
  54. title?: string;
  55. @ApiProperty({ required: false })
  56. @Allow()
  57. enable?: boolean;
  58. }
  59. export class QueryMenuDto extends GetMenuDto {}
  60. export class UpdateMenuDto {
  61. @ApiProperty()
  62. @IsString()
  63. @IsOptional()
  64. @Length(1, 200, {
  65. message: `用户名长度必须大于$constraint1到$constraint2之间,当前传递的值是$value`,
  66. })
  67. title?: string;
  68. @ApiProperty({ required: false })
  69. @IsBoolean()
  70. @IsOptional()
  71. enable?: boolean;
  72. @ApiProperty({ required: false })
  73. @IsOptional()
  74. @IsNumber()
  75. userId?: number;
  76. @ApiProperty({ required: false })
  77. @IsOptional()
  78. @IsNumber()
  79. categoryId?: number;
  80. }