import { Type } from 'class-transformer' import { IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator' import { AppointmentCancellationReasons } from '../../../../models/enums/appointment_cancellation_reasons.enum' import { AuthBaseParams } from '../../../../params' export class RescheduleInput { @IsNotEmpty() @IsString() appointment_id: string @IsString() @IsNotEmpty() availability_time_id: string @IsOptional() @IsString() cancellation_reason?: AppointmentCancellationReasons @IsOptional() cancellation_comment?: string } export class RescheduleParams extends AuthBaseParams { @IsNotEmpty() @ValidateNested() @Type(() => RescheduleInput) readonly input: RescheduleInput }