using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;

namespace TakeoutSaaS.Application.Identity.Commands;

/// <summary>
/// 创建租户角色命令。
/// </summary>
public sealed record CreateTenantRoleCommand : IRequest<RoleDto>
{
    /// <summary>
    /// 租户 ID（由路由绑定）。
    /// </summary>
    public long TenantId { get; init; }

    /// <summary>
    /// 角色编码（租户内唯一）。
    /// </summary>
    public string Code { get; init; } = string.Empty;

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

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