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; }