using System.Text.Json.Serialization;
using TakeoutSaaS.Domain.Tenants.Enums;
using TakeoutSaaS.Shared.Abstractions.Serialization;
namespace TakeoutSaaS.Application.App.QuotaPackages.Dto;
///
/// 配额包 DTO。
///
public sealed record QuotaPackageDto
{
///
/// 配额包 ID。
///
[JsonConverter(typeof(SnowflakeIdJsonConverter))]
public long Id { get; init; }
///
/// 配额包名称。
///
public string Name { get; init; } = string.Empty;
///
/// 配额类型。
///
public TenantQuotaType QuotaType { get; init; }
///
/// 配额数值。
///
public decimal QuotaValue { get; init; }
///
/// 价格。
///
public decimal Price { get; init; }
///
/// 是否上架。
///
public bool IsActive { get; init; }
///
/// 排序。
///
public int SortOrder { get; init; }
///
/// 描述。
///
public string? Description { get; init; }
///
/// 创建时间。
///
public DateTime CreatedAt { get; init; }
///
/// 更新时间。
///
public DateTime? UpdatedAt { get; init; }
}