import { ArrayNotEmpty, IsArray, IsNotEmpty, IsOptional, IsString, IsUUID, MaxLength, MinLength } from 'class-validator';

export class AnularFacturaDto {
  // SIFEN exige un motivo de cancelación (mín. legal). No permitir vacío.
  @IsString()
  @IsNotEmpty()
  @MinLength(5)
  @MaxLength(500)
  motivo: string;

  @IsOptional()
  @IsString()
  token_autorizacion?: string;
}

export class EnviarLoteMiddlewareDto {
  @IsArray()
  @ArrayNotEmpty()
  @IsUUID('all', { each: true })
  factura_ids: string[];
}
