namespace EnvelopeGenerator.API.Models;
///
/// Lightweight payload used by the Blazor receiver UI to submit signatures.
/// Each entry corresponds to one signature placeholder rendered as an
/// overlay on top of the DevExpress PDF viewer.
///
/// The legacy MVC flow ships a full PSPDFKit InstantJSON payload via
/// .
/// That format is browser-library specific. The Blazor client uses a
/// transport-neutral DTO instead: only what the server actually needs
/// to persist the signed document (image + metadata per placeholder).
///
/// Conversion to the internal PsPdfKitAnnotation happens inside
/// .
///
public class BlazorSignaturePayload
{
/// The receiver-specific signed placeholders for this envelope.
public List Signatures { get; set; } = new();
}
///
/// A single signed placeholder.
///
public class BlazorSignatureEntry
{
/// The receiver's DocumentReceiverElement.Id being signed.
public int ElementId { get; set; }
/// Signature image as a data URL (e.g. "data:image/png;base64,...").
public string SignatureDataUrl { get; set; } = string.Empty;
/// Optional position / job title entered by the receiver.
public string? Position { get; set; }
/// Optional city / location entered by the receiver.
public string? City { get; set; }
/// Capture timestamp (client local time).
public DateTime SignedAt { get; set; }
}