using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
namespace TakeoutSaaS.Application.Identity.Commands;
///
/// 克隆租户角色命令。
///
public sealed record CloneTenantRoleCommand : IRequest
{
///
/// 租户 ID(由路由绑定)。
///
public long TenantId { get; init; }
///
/// 源角色 ID(由路由绑定)。
///
public long SourceRoleId { get; init; }
///
/// 新角色编码(租户内唯一)。
///
public string NewCode { get; init; } = string.Empty;
///
/// 新角色名称(为空则沿用源角色)。
///
public string? Name { get; init; }
///
/// 新角色描述(为空则沿用源角色)。
///
public string? Description { get; init; }
///
/// 是否复制权限(默认 true)。
///
public bool CopyPermissions { get; init; } = true;
}