namespace TakeoutSaaS.Application.Identity.Contracts;

/// <summary>
/// 角色模板 DTO。
/// </summary>
public sealed record RoleTemplateDto
{
    /// <summary>
    /// 模板编码。
    /// </summary>
    public string TemplateCode { get; init; } = string.Empty;

    /// <summary>
    /// 模板名称。
    /// </summary>
    public string Name { get; init; } = string.Empty;

    /// <summary>
    /// 模板描述。
    /// </summary>
    public string? Description { get; init; }

    /// <summary>
    /// 是否启用。
    /// </summary>
    public bool IsActive { get; init; }

    /// <summary>
    /// 包含的权限定义。
    /// </summary>
    public IReadOnlyList<PermissionTemplateDto> Permissions { get; init; } = [];
}
