using EnvelopeGenerator.Application.Histories;
namespace EnvelopeGenerator.Application.EnvelopeReceivers;
///
/// Stellt eine Abfrage für einen Envelope-Empfänger dar.
///
/// Der Status der Abfrage, optional.
public record EnvelopeReceiverQuery(EnvelopeStatusQuery? Status = null);
///
/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch
///
/// - Invalid (0): Ungültiger Status.
/// - EnvelopeCreated (1001): Der Umschlag wurde erstellt.
/// - EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
/// - EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant.
/// - EnvelopeSent (1004): Der Umschlag wurde versendet. (Nicht verwendet)
/// - EnvelopePartlySigned (1005): Der Umschlag wurde teilweise unterschrieben.
/// - EnvelopeCompletelySigned (1006): Der Umschlag wurde vollständig unterschrieben.
/// - EnvelopeReportCreated (1007): Ein Abschlussbericht wurde für den Umschlag erstellt.
/// - EnvelopeArchived (1008): Der Umschlag wurde archiviert.
/// - EnvelopeDeleted (1009): Der Umschlag wurde gelöscht.
/// - AccessCodeRequested (2001): Der Zugriffscode wurde angefordert.
/// - AccessCodeCorrect (2002): Der Zugriffscode war korrekt.
/// - AccessCodeIncorrect (2003): Der Zugriffscode war falsch.
/// - DocumentOpened (2004): Das Dokument wurde geöffnet.
/// - DocumentSigned (2005): Ein Dokument wurde unterschrieben.
/// - SignatureConfirmed (2006): Die Signatur wurde bestätigt.
/// - DocumentRejected (2007): Ein Dokument wurde abgelehnt.
/// - EnvelopeShared (2008): Der Umschlag wurde geteilt.
/// - EnvelopeViewed (2009): Der Umschlag wurde angesehen.
/// - DocumentForwarded (4001): Das Dokument wurde weitergeleitet.
/// - MessageInvitationSent (3001): Einladung wurde gesendet (vom Trigger verwendet).
/// - MessageAccessCodeSent (3002): Zugriffscode wurde gesendet.
/// - MessageConfirmationSent (3003): Bestätigungsnachricht wurde gesendet.
/// - MessageDeletionSent (3004): Löschbenachrichtigung wurde gesendet.
/// - MessageCompletionSent (3005): Abschlussbenachrichtigung wurde gesendet.
///
///
/// Der minimale Statuswert, der berücksichtigt werden soll.
/// Der maximale Statuswert, der berücksichtigt werden soll.
/// Eine Liste von Statuswerten, die ignoriert werden sollen.
public record EnvelopeStatusQuery(
int? Min = null,
int? Max = null,
int[]? Ignore = null)
{
}