From 9b7dee17f334668a36e5beef43335a32131e48a1 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Thu, 9 Jul 2026 11:53:38 +0800 Subject: [PATCH] feat: add Bed and Locker DTOs --- apps/server/src/rooms/dto/bed.dto.ts | 34 +++++++++++++++++++++++++ apps/server/src/rooms/dto/locker.dto.ts | 34 +++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 apps/server/src/rooms/dto/bed.dto.ts create mode 100644 apps/server/src/rooms/dto/locker.dto.ts diff --git a/apps/server/src/rooms/dto/bed.dto.ts b/apps/server/src/rooms/dto/bed.dto.ts new file mode 100644 index 0000000..ec052de --- /dev/null +++ b/apps/server/src/rooms/dto/bed.dto.ts @@ -0,0 +1,34 @@ +import { IsString, IsOptional, IsInt, Min, IsEnum, IsArray, ArrayMinSize } from 'class-validator'; + +export class CreateBedDto { + @IsString() + bedNumber: string; + + @IsOptional() + @IsString() + status?: string; + + @IsOptional() + @IsString() + notes?: string; +} + +export class UpdateBedDto { + @IsOptional() + @IsString() + bedNumber?: string; + + @IsOptional() + @IsEnum(['available', 'occupied', 'maintenance']) + status?: string; + + @IsOptional() + @IsString() + notes?: string; +} + +export class BatchCreateBedDto { + @IsInt() + @Min(1) + count: number; +} diff --git a/apps/server/src/rooms/dto/locker.dto.ts b/apps/server/src/rooms/dto/locker.dto.ts new file mode 100644 index 0000000..b0d9c50 --- /dev/null +++ b/apps/server/src/rooms/dto/locker.dto.ts @@ -0,0 +1,34 @@ +import { IsString, IsOptional, IsInt, Min, IsEnum } from 'class-validator'; + +export class CreateLockerDto { + @IsString() + lockerNumber: string; + + @IsOptional() + @IsString() + status?: string; + + @IsOptional() + @IsString() + notes?: string; +} + +export class UpdateLockerDto { + @IsOptional() + @IsString() + lockerNumber?: string; + + @IsOptional() + @IsEnum(['available', 'occupied', 'maintenance']) + status?: string; + + @IsOptional() + @IsString() + notes?: string; +} + +export class BatchCreateLockerDto { + @IsInt() + @Min(1) + count: number; +}