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.
29 lines
1.2 KiB
C#
29 lines
1.2 KiB
C#
using DocumentService.Application.Common.DTOs;
|
|
|
|
namespace DocumentService.Client.Interfaces;
|
|
|
|
/// <summary>
|
|
/// Client for Swiss QR Code extraction operations.
|
|
/// </summary>
|
|
public interface ISwissQrCodeClient
|
|
{
|
|
/// <summary>
|
|
/// Extracts Swiss QR Code from PDF (multipart).
|
|
/// </summary>
|
|
/// <param name="pdfStream">PDF file stream</param>
|
|
/// <param name="raw">If true, returns raw QR text lines instead of parsed Bill object</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>Swiss QR Code extraction result</returns>
|
|
Task<SwissQrCodeExtractionResult> ExtractSwissQrCodeAsync(Stream pdfStream, bool raw = false, CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// Extracts Swiss QR Code from PDF (Base64).
|
|
/// </summary>
|
|
/// <param name="pdfBytes">PDF file as byte array</param>
|
|
/// <param name="raw">If true, returns raw QR text lines instead of parsed Bill object</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>Swiss QR Code extraction result</returns>
|
|
Task<SwissQrCodeExtractionResult> ExtractSwissQrCodeAsync(byte[] pdfBytes, bool raw = false, CancellationToken cancellationToken = default);
|
|
}
|
|
|