Files
gongxue-base/apps/server/src/rooms/dto/room.dto.ts

74 lines
1.1 KiB
TypeScript

import { IsString, IsOptional, IsInt, IsEnum, IsIn, Min, IsNumber } from 'class-validator';
export class CreateRoomDto {
@IsString()
roomNumber: string;
@IsOptional()
@IsString()
building?: string;
@IsOptional()
@IsInt()
floor?: number;
@IsInt()
@Min(1)
capacity: number;
@IsOptional()
@IsString()
roomType?: string;
@IsOptional()
@IsIn(['男', '女'])
gender?: '男' | '女' | null;
@IsOptional()
@IsString()
rentalCategory?: string;
@IsOptional()
@IsNumber()
monthlyRate?: number;
}
export class UpdateRoomDto {
@IsOptional()
@IsString()
roomNumber?: string;
@IsOptional()
@IsString()
building?: string;
@IsOptional()
@IsInt()
floor?: number;
@IsOptional()
@IsInt()
@Min(1)
capacity?: number;
@IsOptional()
@IsString()
roomType?: string;
@IsOptional()
@IsIn(['男', '女'])
gender?: '男' | '女' | null;
@IsOptional()
@IsEnum(['available', 'full', 'maintenance'])
status?: string;
@IsOptional()
@IsString()
rentalCategory?: string;
@IsOptional()
@IsNumber()
monthlyRate?: number;
}