using EnvelopeGenerator.Domain;
namespace EnvelopeGenerator.Application.Envelopes.Queries.Read;
///
/// Repräsentiert die Antwort für das Lesen eines Umschlags.
///
public record ReadEnvelopeResponse
{
///
/// Die eindeutige Kennung des Umschlags.
///
public int Id { get; init; }
///
/// Die Kennung des Benutzers, der den Umschlag erstellt hat.
///
public int UserId { get; init; }
///
/// Der Status des Umschlags als numerischer Wert.
///
public int Status { get; init; }
///
/// Die universelle eindeutige Kennung (UUID) des Umschlags.
///
public string Uuid { get; init; } = default!;
///
/// Eine optionale Nachricht, die mit dem Umschlag verknüpft ist.
///
public string? Message { get; init; }
///
/// Das Datum und die Uhrzeit, wann der Umschlag hinzugefügt wurde.
///
public DateTime AddedWhen { get; init; }
///
/// Das Datum und die Uhrzeit, wann der Umschlag zuletzt geändert wurde (falls vorhanden).
///
public DateTime? ChangedWhen { get; init; }
///
/// Ein optionaler Titel des Umschlags.
///
public string? Title { get; init; }
///
/// Die Sprache, die mit dem Umschlag verknüpft ist.
///
public string Language { get; init; } = default!;
///
/// Gibt an, ob die Zwei-Faktor-Authentifizierung (TFA) aktiviert ist.
///
public bool TFAEnabled { get; init; }
///
/// Das Benutzerobjekt, das mit dem Umschlag verknüpft ist.
///
public DigitalData.UserManager.Domain.Entities.User User { get; init; } = default!;
///
/// Gibt den Namen des Status zurück, der dem numerischen Statuswert entspricht.
///
public string StatusName => ((Constants.EnvelopeStatus)Status).ToString();
}