26 lines
1.3 KiB
TypeScript
26 lines
1.3 KiB
TypeScript
import { IsNotEmpty, IsOptional, IsString, IsInt, Matches, Min, Max, MaxLength } from "class-validator";
|
|
|
|
export class CustomerBuildingQueryDTO {
|
|
@IsOptional() @IsInt() @Min(1) page?: number = 1;
|
|
@IsOptional() @IsInt() @Min(1) @Max(200) pageSize?: number = 10;
|
|
@IsOptional() @IsString() @MaxLength(64) keyword?: string;
|
|
@IsOptional() @IsInt() customerId?: number;
|
|
}
|
|
|
|
export class CustomerBuildingCreateDTO {
|
|
@IsNotEmpty({ message: '所属客户不能为空' }) @IsInt() customerId!: number;
|
|
@IsNotEmpty({ message: '建筑名称不能为空' }) @IsString() @MaxLength(128) @Matches(/^[^<>]*$/) buildingName!: string;
|
|
@IsOptional() @IsString() @MaxLength(2000) @Matches(/^[^<>]*$/) basicInfo?: string;
|
|
@IsOptional() @IsString() @MaxLength(128) @Matches(/^[^<>]*$/) purpose?: string;
|
|
@IsOptional() @IsInt() @Min(0) floorCount?: number;
|
|
@IsOptional() @IsInt() @Min(0) floorDownCount?: number;
|
|
}
|
|
|
|
export class CustomerBuildingUpdateDTO {
|
|
@IsOptional() @IsInt() customerId?: number;
|
|
@IsOptional() @IsString() @MaxLength(128) @Matches(/^[^<>]*$/) buildingName?: string;
|
|
@IsOptional() @IsString() @MaxLength(2000) @Matches(/^[^<>]*$/) basicInfo?: string;
|
|
@IsOptional() @IsString() @MaxLength(128) @Matches(/^[^<>]*$/) purpose?: string;
|
|
@IsOptional() @IsInt() @Min(0) floorCount?: number;
|
|
@IsOptional() @IsInt() @Min(0) floorDownCount?: number;
|
|
} |