using System.Text.Json.Serialization;
using TakeoutSaaS.Domain.Tenants.Enums;
using TakeoutSaaS.Shared.Abstractions.Serialization;
namespace TakeoutSaaS.Application.App.Tenants.Dto;
///
/// 自助注册结果 DTO。
///
public sealed class SelfRegisterResultDto
{
///
/// 租户 ID。
///
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long TenantId { get; init; }
///
/// 租户编码。
///
public string Code { get; init; } = string.Empty;
///
/// 初始状态。
///
public TenantStatus Status { get; init; } = TenantStatus.PendingReview;
///
/// 当前实名状态。
///
public TenantVerificationStatus VerificationStatus { get; init; } = TenantVerificationStatus.Draft;
///
/// 订阅开始时间。
///
public DateTime? EffectiveFrom { get; init; }
///
/// 订阅到期时间。
///
public DateTime? EffectiveTo { get; init; }
///
/// 初始管理员账号。
///
public string AdminAccount { get; init; } = string.Empty;
}