Add IPdfProcessor interface and update ROADMAP.md

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.
This commit is contained in:
OlgunR
2026-06-18 16:02:32 +02:00
parent 3a87ace144
commit 49d1f43822
3 changed files with 30 additions and 6 deletions

View File

@@ -0,0 +1,16 @@
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);
}

View File

@@ -17,7 +17,6 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Common\Interfaces\" />
<Folder Include="Common\Behaviors\" />
<Folder Include="Common\DTOs\" />
<Folder Include="Common\Mappings\" />