using EnvelopeGenerator.Application.Envelopes; using EnvelopeGenerator.Application.Receivers; using static EnvelopeGenerator.Common.Constants; namespace EnvelopeGenerator.Application.EnvelopeHistories; /// /// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags. /// /// Die eindeutige Kennung des Umschlags. /// Die Abfrage, die den Umschlag beschreibt. /// Die Abfrage, die den Empfänger beschreibt. public record EnvelopeHistoryQuery(int EnvelopeId, TEnvelopeQuery? Envelope, TReceiverQuery? Receiver = null, StatusQuery? Status = null) where TEnvelopeQuery : EnvelopeQuery where TReceiverQuery : ReceiverQuery { public ReferenceType ReferenceType => Envelope?.User is not null ? ReferenceType.Receiver : Receiver is not null ? ReferenceType.Receiver : ReferenceType.System; }