Files
laca-website/backend/src/modules/booking-slot/dto/create-booking-slot.dto.ts

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;
}