forked from wangziqi/gongxue-base
- 后端: NestJS 11 + TypeORM + JWT认证 + SQLite/MySQL - 前端: React 19 + Ant Design 6 + Vite 8 + ECharts - 功能模块: 数据面板、学生管理、宿舍管理、入住管理、费用录入、账单管理、教室管理、押金管理、操作日志、账号管理 - 支持Docker一键部署
74 lines
1.0 KiB
TypeScript
74 lines
1.0 KiB
TypeScript
import { IsOptional, IsString, IsNotEmpty, IsInt, IsEnum } from 'class-validator';
|
|
|
|
export class CreateClassroomDto {
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
name: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
building?: string;
|
|
|
|
@IsOptional()
|
|
@IsInt()
|
|
floor?: number;
|
|
|
|
@IsOptional()
|
|
@IsInt()
|
|
capacity?: number;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
roomType?: string; // 大 / 次大 / 小
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
courseType?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
supervisor?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
notes?: string;
|
|
}
|
|
|
|
export class UpdateClassroomDto {
|
|
@IsOptional()
|
|
@IsString()
|
|
name?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
building?: string;
|
|
|
|
@IsOptional()
|
|
@IsInt()
|
|
floor?: number;
|
|
|
|
@IsOptional()
|
|
@IsInt()
|
|
capacity?: number;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
roomType?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
courseType?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
supervisor?: string;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
notes?: string;
|
|
|
|
@IsOptional()
|
|
@IsEnum(['available', 'archived'])
|
|
status?: string;
|
|
}
|