import { ApiPropertyOptional } from '@nestjs/swagger';
import { IsOptional, IsString, IsUUID } from 'class-validator';

export class UpdatePedidoDto {
  @ApiPropertyOptional({ description: 'ID del cliente' })
  @IsOptional()
  @IsUUID()
  cliente_id?: string;

  @ApiPropertyOptional({ description: 'ID de la sucursal' })
  @IsOptional()
  @IsUUID()
  sucursal_id?: string;

  @ApiPropertyOptional({ description: 'ID del depósito' })
  @IsOptional()
  @IsUUID()
  deposito_id?: string;

  @ApiPropertyOptional({ description: 'ID del vendedor' })
  @IsOptional()
  @IsUUID()
  vendedor_id?: string;

  @ApiPropertyOptional({ description: 'ID de la moneda' })
  @IsOptional()
  @IsUUID()
  moneda_id?: string;

  @ApiPropertyOptional({ description: 'ID de la condición de operación' })
  @IsOptional()
  @IsUUID()
  condicion_operacion_id?: string;

  @ApiPropertyOptional({ description: 'ID de la lista de precios' })
  @IsOptional()
  @IsUUID()
  lista_precios_id?: string;

  @ApiPropertyOptional({ description: 'Observaciones del pedido' })
  @IsOptional()
  @IsString()
  observaciones?: string;

  @ApiPropertyOptional({ description: 'Referencia interna' })
  @IsOptional()
  @IsString()
  referencia_interna?: string;

  @ApiPropertyOptional({ description: 'Fecha de vencimiento (ISO string)' })
  @IsOptional()
  @IsString()
  fecha_vencimiento?: string;
}
