using MediatR;

namespace TakeoutSaaS.Application.Identity.Commands;

/// <summary>
/// 绑定角色权限（覆盖式）。
/// </summary>
public sealed record BindRolePermissionsCommand : IRequest<bool>
{
    /// <summary>
    /// 角色 ID。
    /// </summary>
    public long RoleId { get; init; }

    /// <summary>
    /// 租户 ID（可选，空则取当前上下文）。
    /// </summary>
    public long? TenantId { get; init; }

    /// <summary>
    /// 权限 ID 集合。
    /// </summary>
    public long[] PermissionIds { get; init; } = Array.Empty<long>();
}
