using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; using MaksIT.Core.Security.JWK; using MaksIT.CertsUI.Engine.Domain.Certs; using MaksIT.CertsUI.Engine.Dto.LetsEncrypt.Responses; namespace MaksIT.CertsUI.Engine.Dto.Certs; public sealed class RegistrationCachePayloadDocument { private Guid? _id; public Guid Id { get => _id ?? AccountId; set => _id = value; } public Guid AccountId { get; set; } /// Filled from JSON key Id (ACME account URI). public string? RootIdCapital { get; set; } /// Filled from JSON key id. public string? RootIdLowercase { get; set; } /// Optional key acmeAccountResourceId when present. public string? AcmeAccountResourceId { get; set; } public string? Description { get; set; } public string[]? Contacts { get; set; } public bool IsStaging { get; set; } public string? ChallengeType { get; set; } public bool IsDisabled { get; set; } public byte[]? AccountKey { get; set; } public Jwk? Key { get; set; } public Uri? Location { get; set; } public Dictionary? CachedCerts { get; set; } /// public Dictionary? AcmeRenewalNotBeforeUtcByHostname { get; set; } }