82 lines
1.3 KiB
TypeScript
82 lines
1.3 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { SlotType } from '@prisma/client';
|
|
import { Type } from 'class-transformer';
|
|
import {
|
|
IsDate,
|
|
IsDateString,
|
|
IsEnum,
|
|
IsNotEmpty,
|
|
IsNumber,
|
|
IsOptional,
|
|
IsString,
|
|
MinDate,
|
|
} from 'class-validator';
|
|
|
|
export class CreateBookingSlotDto {
|
|
@ApiProperty({
|
|
example: 'Hello word',
|
|
})
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
@Type(() => String)
|
|
owner: string;
|
|
|
|
@ApiProperty({
|
|
example: 'Hello word',
|
|
})
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
@Type(() => String)
|
|
licensePlates: string;
|
|
|
|
@ApiProperty({
|
|
example: '10H 346543',
|
|
})
|
|
@IsString()
|
|
@IsOptional()
|
|
@Type(() => String)
|
|
contact: string;
|
|
|
|
@ApiProperty({
|
|
example: '',
|
|
})
|
|
@IsString()
|
|
@IsOptional()
|
|
@Type(() => String)
|
|
image: string;
|
|
|
|
@ApiProperty({
|
|
example: 1,
|
|
})
|
|
@IsNumber()
|
|
@IsNotEmpty()
|
|
@Type(() => Number)
|
|
slotId: number;
|
|
|
|
@ApiProperty({
|
|
example: new Date(),
|
|
})
|
|
@IsDate()
|
|
@IsNotEmpty()
|
|
// @MinDate(new Date())
|
|
@Type(() => Date)
|
|
startAt: Date;
|
|
|
|
@ApiProperty({
|
|
example: new Date(),
|
|
})
|
|
@IsDate()
|
|
@IsNotEmpty()
|
|
@MinDate(new Date())
|
|
@Type(() => Date)
|
|
endAt: Date;
|
|
|
|
@ApiProperty({
|
|
example: SlotType.Orther,
|
|
})
|
|
@IsEnum(SlotType)
|
|
@IsString()
|
|
@IsOptional()
|
|
slot_type: SlotType = SlotType.Orther;
|
|
}
|