The `IPdfProcessor` interface was added to the `Application/Common/Interfaces/` directory. It includes the `ValidateAsync` method for validating PDFs and extracting metadata, with proper XML documentation and dependency on domain value objects. Updated `ROADMAP.md` to mark Step 3.1 as completed, detailing the creation of the `IPdfProcessor` interface and its implementation status. Removed the `<Folder Include="Common\Interfaces\" />` entry from `DocumentOperator.Application.csproj` to reflect the transition from a placeholder folder structure to actual implementation.
16 lines
588 B
C#
16 lines
588 B
C#
using DocumentOperator.Domain.Models.ValueObjects;
|
|
|
|
namespace DocumentOperator.Application.Common.Interfaces;
|
|
|
|
public interface IPdfProcessor
|
|
{
|
|
/// <summary>
|
|
/// Validates a PDF and extracts metadata.
|
|
/// </summary>
|
|
/// <param name="pdfBytes">PDF content as byte array</param>
|
|
/// <returns>PDF metadata (page count, size, version, attachments)</returns>
|
|
/// <exception cref="Domain.Common.Exceptions.PdfProcessingException">
|
|
/// Thrown when PDF is corrupted or cannot be processed
|
|
/// </exception>
|
|
Task<PdfMetadata> ValidateAsync(byte[] pdfBytes);
|
|
} |