using DocumentService.Client.Interfaces;
using DocumentService.Client.Models.Requests;
using Microsoft.Extensions.Logging;
using System.Net.Http;
namespace DocumentService.Client.Clients;
///
/// Implementation of the PDF digital-signing client.
///
public class PdfSignatureClient(HttpClient httpClient, ILogger logger) : BaseDocumentClient(httpClient, logger), IPdfSignatureClient
{
///
public async Task SignAsync(byte[] pdfBytes, SignPdfOptions options, byte[]? signatureImageBytes = null, CancellationToken cancellationToken = default)
{
var request = new SignPdfRequest
{
Base64Pdf = ToBase64(pdfBytes),
Base64SignatureImage = signatureImageBytes is null ? null : ToBase64(signatureImageBytes),
Options = options
};
return await SendJsonForStreamAsync("/api/pdf/signature/sign", request, cancellationToken);
}
}