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; }
}