reserves module

This commit is contained in:
2026-06-29 08:39:34 +03:30
parent 127c1eaf78
commit d8086cab17
15 changed files with 871 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
import { Type } from 'class-transformer';
import {
ArrayMinSize,
IsArray,
IsDateString,
IsNotEmpty,
IsNumber,
IsUUID,
Matches,
Min,
ValidateNested,
} from 'class-validator';
import { CreateReserveItemDto } from './create-reserve-item.dto';
export class CreateReserveDto {
@IsUUID()
@IsNotEmpty()
salonId: string;
@IsUUID()
@IsNotEmpty()
customerId: string;
@IsUUID()
@IsNotEmpty()
stylistId: string;
@IsDateString()
appointmentDate: string;
@Matches(/^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/)
startTime: string;
@Matches(/^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/)
endTime: string;
@IsNumber({ maxDecimalPlaces: 2 })
@Min(0)
totalAmount: number;
@IsNumber({ maxDecimalPlaces: 2 })
@Min(0)
depositAmount: number;
@IsArray()
@ArrayMinSize(1)
@ValidateNested({ each: true })
@Type(() => CreateReserveItemDto)
items: CreateReserveItemDto[];
}