import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { ArrayMinSize, IsArray, IsBoolean, IsIn, IsOptional, IsUUID, ValidateNested } from 'class-validator';
import { TIPO_DOC_VIAJE } from '../viajes.constants';

export class DocumentoViajeItemDto {
  @ApiProperty({ enum: Object.values(TIPO_DOC_VIAJE) })
  @IsIn(Object.values(TIPO_DOC_VIAJE))
  tipo: string;

  @ApiProperty()
  @IsUUID()
  documento_id: string;

  @ApiProperty({ required: false })
  @IsOptional() @IsBoolean()
  agregado_auto?: boolean;
}

export class AgregarDocumentosDto {
  @ApiProperty({ type: [DocumentoViajeItemDto] })
  @IsArray() @ArrayMinSize(1) @ValidateNested({ each: true }) @Type(() => DocumentoViajeItemDto)
  documentos: DocumentoViajeItemDto[];
}
