import { IsEnum, IsNotEmpty, IsObject, IsString, MinLength, MaxLength } from 'class-validator';
import { ChangeRequestKind } from '../../../entities/booking-change-request.entity';

export class CreateChangeRequestDto {
  @IsEnum(ChangeRequestKind)
  kind: ChangeRequestKind;

  @IsString()
  @IsNotEmpty()
  @MinLength(20, {
    message: 'Remarks must be at least 20 characters — explain the change clearly.',
  })
  @MaxLength(2000)
  requester_remarks: string;

  @IsObject()
  payload: Record<string, unknown>;
}
