using DocumentService.Application.Common.DTOs;
using DocumentService.Application.Common.Interfaces;
using MediatR;
namespace DocumentService.Application.ValidatePdf.Queries;
///
/// Query for PDF validation (Stream-based)
///
public record ValidatePdfQuery : IRequest
{
///
/// PDF as stream (caller is responsible for disposal)
///
public required Stream PdfStream { get; init; }
}
///
/// Handler for ValidatePdfQuery
///
public class ValidatePdfQueryHandler(IPdfProcessor pdfProcessor)
: IRequestHandler
{
public async Task Handle(ValidatePdfQuery request, CancellationToken cancellationToken)
{
return await pdfProcessor.ValidateAsync(request.PdfStream);
}
}