Refactored the codebase to use shared DTOs from `DocumentService.Application.Common.DTOs`, removing inline DTO definitions in client interfaces and tests. Introduced conditional compilation to handle framework-specific differences in DTOs and handlers. Updated test cases to align with the new DTO structures, including `SwissQrCodeExtractionResult`, `PdfValidationResult`, and `ZugferdExtractionResult`. Adjusted test data to match updated DTO properties. Cleaned up solution and project files, ensuring proper references and organization. Removed unused files and fixed project references in `DocumentService.Tests.csproj`. Improved maintainability and consistency across the codebase.
41 lines
1.8 KiB
C#
41 lines
1.8 KiB
C#
using DocumentService.Application.Common.DTOs;
|
|
|
|
namespace DocumentService.Client.Interfaces;
|
|
|
|
/// <summary>
|
|
/// Client for PDF validation operations (validate, validate PDF/A).
|
|
/// </summary>
|
|
public interface IPdfValidationClient
|
|
{
|
|
/// <summary>
|
|
/// Validates a PDF from stream (multipart upload).
|
|
/// </summary>
|
|
/// <param name="pdfStream">PDF file stream</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>Validation result with metadata</returns>
|
|
Task<PdfValidationResult> ValidatePdfAsync(Stream pdfStream, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// Validates a PDF from byte array (Base64 JSON).
|
|
/// </summary>
|
|
/// <param name="pdfBytes">PDF file as byte array</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>Validation result with metadata</returns>
|
|
Task<PdfValidationResult> ValidatePdfAsync(byte[] pdfBytes, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// Validates a PDF/A from stream (multipart upload).
|
|
/// </summary>
|
|
/// <param name="pdfStream">PDF/A file stream</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>PDF/A validation result with conformance level and errors</returns>
|
|
Task<PdfAValidationResult> ValidatePdfAAsync(Stream pdfStream, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// Validates a PDF/A from byte array (Base64 JSON).
|
|
/// </summary>
|
|
/// <param name="pdfBytes">PDF/A file as byte array</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>PDF/A validation result with conformance level and errors</returns>
|
|
Task<PdfAValidationResult> ValidatePdfAAsync(byte[] pdfBytes, CancellationToken cancellationToken = default);
|
|
} |