import { ApiPropertyOptional } from '@nestjs/swagger';
import { IsBoolean, IsDateString, IsEnum, IsOptional, IsString, MaxLength } from 'class-validator';
import { CreatePersonaDto } from 'src/personas/dto/create-persona.dto';

export enum CategoriaLicencia {
  A = 'A',
  B = 'B',
  C = 'C',
  D = 'D',
  E = 'E',
}

export class CreateChoferDto extends CreatePersonaDto {
  @ApiPropertyOptional({ example: 'LIB-001234' })
  @IsString()
  @IsOptional()
  @MaxLength(30)
  nro_libreta_conducir?: string;

  @ApiPropertyOptional({ enum: CategoriaLicencia })
  @IsEnum(CategoriaLicencia)
  @IsOptional()
  categoria_licencia?: CategoriaLicencia;

  @ApiPropertyOptional({ example: '2027-12-31' })
  @IsDateString()
  @IsOptional()
  fecha_vencimiento_licencia?: string;

  @ApiPropertyOptional({ default: true })
  @IsBoolean()
  @IsOptional()
  activo?: boolean;
}
