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