import { IsNotEmpty, IsOptional, IsString, IsBoolean, IsUUID, IsEnum, IsEmail, MaxLength, IsDateString } from 'class-validator';
import { DriverStatus } from '../../../entities/driver.entity';

export class CreateDriverDto {
  @IsUUID() @IsNotEmpty()
  destination_id: string;

  @IsUUID() @IsNotEmpty()
  supplier_id: string;

  @IsString() @IsNotEmpty() @MaxLength(255)
  name: string;

  @IsString() @IsNotEmpty() @MaxLength(20)
  phone: string;

  @IsEmail() @IsOptional()
  email?: string;

  @IsString() @IsOptional() @MaxLength(20)
  alt_phone?: string;

  @IsString() @IsNotEmpty() @MaxLength(50)
  license_no: string;

  @IsDateString() @IsOptional()
  license_expiry?: string;

  @IsString() @IsOptional() @MaxLength(500)
  photo_url?: string;

  @IsString() @IsOptional()
  address?: string;

  @IsString() @IsOptional() @MaxLength(255)
  operational_hours?: string;

  @IsEnum(DriverStatus) @IsOptional()
  status?: DriverStatus;

  @IsString() @IsOptional()
  notes?: string;

  @IsBoolean() @IsOptional()
  is_active?: boolean;
}
