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

export class FacturarOrdenDto {
  @ApiPropertyOptional({
    description:
      'Timbrado y punto de expedición que emite. Si se omite se resuelve por la sucursal de la ' +
      'orden: el marcado por defecto, o el único activo si hay uno solo.',
  })
  @IsOptional()
  @IsUUID()
  numeracion_id?: string;

  @ApiPropertyOptional({ description: 'Contado o crédito. Por defecto, la condición de la orden.' })
  @IsOptional()
  @IsUUID()
  condicion_operacion_id?: string;

  @ApiPropertyOptional({ description: 'Por defecto, efectivo.' })
  @IsOptional()
  @IsUUID()
  medio_pago_id?: string;

  @ApiPropertyOptional({
    description: 'Reservado para la facturación parcial por ítem (fase 4B). Hoy devuelve 501.',
  })
  @IsOptional()
  @IsArray()
  items?: Array<{ pedido_detalle_id: string; cantidad: number }>;
}
