import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsDateString, IsInt, IsOptional, IsString, IsUUID, MaxLength, Min } from 'class-validator';

export class CreateViajeDto {
  @ApiProperty({ example: '2026-09-23' })
  @IsDateString()
  fecha_salida: string;

  @ApiPropertyOptional({ example: 'Interior — Cristian' })
  @IsOptional() @IsString() @MaxLength(200)
  descripcion?: string;

  @ApiPropertyOptional() @IsOptional() @IsString() @MaxLength(100)
  zona?: string;

  @ApiPropertyOptional() @IsOptional() @IsDateString()
  fecha_retorno?: string;

  @ApiPropertyOptional() @IsOptional() @IsUUID()
  sucursal_id?: string;

  @ApiPropertyOptional() @IsOptional() @IsUUID()
  vendedor_id?: string;

  @ApiPropertyOptional() @IsOptional() @IsUUID()
  chofer_id?: string;

  @ApiPropertyOptional() @IsOptional() @IsUUID()
  vehiculo_id?: string;

  @ApiPropertyOptional() @IsOptional() @IsInt() @Min(0)
  km_salida?: number;

  @ApiPropertyOptional() @IsOptional() @IsInt() @Min(0)
  km_retorno?: number;

  @ApiPropertyOptional() @IsOptional() @IsString()
  observaciones?: string;
}
