123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import { ApiProperty, ApiBody, PartialType } from '@nestjs/swagger';
- import { Exclude } from 'class-transformer';
- import {
- Allow,
- IsArray,
- IsBoolean,
- IsNotEmpty,
- IsNumber,
- IsOptional,
- IsString,
- Length,
- } from 'class-validator';
- import { User } from '../user/user.entity';
- export class CreateMenuDto {
- @ApiProperty()
- @IsString()
- @IsNotEmpty({ message: '标题不能为空' })
- @Length(1, 200, {
- message: `用户名长度必须大于$constraint1到$constraint2之间,当前传递的值是$value`,
- })
- title: string;
- @ApiProperty({ required: false })
- @IsString()
- @IsOptional()
- cover?: string;
- @ApiProperty({ required: true })
- @IsNumber()
- userId: number;
- @ApiProperty({ nullable: true, required: false, default: null })
- @IsNumber()
- @IsOptional()
- categoryId?: number;
- @ApiProperty({ required: false, default: true })
- @IsBoolean()
- @IsOptional()
- isPublish?: boolean;
- @ApiProperty({ required: false })
- @IsBoolean()
- @IsOptional()
- enable?: boolean;
- @ApiProperty({ nullable: true, required: false, default: null })
- @IsNumber()
- @IsOptional()
- parentId?: number;
- @ApiProperty({ nullable: true, required: false, default: 3 })
- @IsNumber()
- @IsOptional()
- grid?: number;
- @ApiProperty({ nullable: true, required: false, default: 0 })
- @IsNumber()
- @IsOptional()
- level?: number;
- @ApiProperty({ nullable: true, required: false, default: null })
- @IsNumber()
- @IsOptional()
- articleId?: number;
- }
- export class GetMenuDto {
- @ApiProperty({ required: false })
- @Allow()
- pageSize?: number;
- @ApiProperty({ required: false })
- @Allow()
- pageNo?: number;
- @ApiProperty({ required: false })
- @Allow()
- title?: string;
- @ApiProperty({ required: false })
- @Allow()
- enable?: boolean;
- }
- export class QueryMenuDto extends GetMenuDto {
- @ApiProperty({ required: false })
- @Allow()
- parentId?: number;
- }
- export class UpdateMenuDto extends PartialType(CreateMenuDto) {
- @Exclude()
- user?: User;
- }
- export class UploadCoverDto {
- @ApiProperty({ type: 'string', format: 'binary', required: true })
- file: Express.Multer.File;
- }
|