feat: 增加角色/权限管理 API 与应用层命令

This commit is contained in:
2025-12-02 16:43:46 +08:00
parent b459c7edbe
commit 35b12fb054
25 changed files with 743 additions and 1 deletions

View File

@@ -0,0 +1,12 @@
using MediatR;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 为用户分配角色(覆盖式)。
/// </summary>
public sealed record AssignUserRolesCommand : IRequest<bool>
{
public long UserId { get; init; }
public long[] RoleIds { get; init; } = Array.Empty<long>();
}

View File

@@ -0,0 +1,12 @@
using MediatR;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 绑定角色权限(覆盖式)。
/// </summary>
public sealed record BindRolePermissionsCommand : IRequest<bool>
{
public long RoleId { get; init; }
public long[] PermissionIds { get; init; } = Array.Empty<long>();
}

View File

@@ -0,0 +1,14 @@
using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 创建权限。
/// </summary>
public sealed record CreatePermissionCommand : IRequest<PermissionDto>
{
public string Name { get; init; } = string.Empty;
public string Code { get; init; } = string.Empty;
public string? Description { get; init; }
}

View File

@@ -0,0 +1,14 @@
using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 创建角色。
/// </summary>
public sealed record CreateRoleCommand : IRequest<RoleDto>
{
public string Name { get; init; } = string.Empty;
public string Code { get; init; } = string.Empty;
public string? Description { get; init; }
}

View File

@@ -0,0 +1,11 @@
using MediatR;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 删除权限。
/// </summary>
public sealed record DeletePermissionCommand : IRequest<bool>
{
public long PermissionId { get; init; }
}

View File

@@ -0,0 +1,11 @@
using MediatR;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 删除角色。
/// </summary>
public sealed record DeleteRoleCommand : IRequest<bool>
{
public long RoleId { get; init; }
}

View File

@@ -0,0 +1,14 @@
using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 更新权限。
/// </summary>
public sealed record UpdatePermissionCommand : IRequest<PermissionDto?>
{
public long PermissionId { get; init; }
public string Name { get; init; } = string.Empty;
public string? Description { get; init; }
}

View File

@@ -0,0 +1,14 @@
using MediatR;
using TakeoutSaaS.Application.Identity.Contracts;
namespace TakeoutSaaS.Application.Identity.Commands;
/// <summary>
/// 更新角色。
/// </summary>
public sealed record UpdateRoleCommand : IRequest<RoleDto?>
{
public long RoleId { get; init; }
public string Name { get; init; } = string.Empty;
public string? Description { get; init; }
}