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); } }