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