feat: add permission hierarchy tree

This commit is contained in:
2025-12-06 11:53:14 +08:00
parent d34f92ea1d
commit 37dc23f0c1
16 changed files with 1014 additions and 2 deletions

View File

@@ -37,6 +37,27 @@ public sealed class PermissionsController(IMediator mediator) : BaseApiControlle
return ApiResponse<PagedResult<PermissionDto>>.Ok(result);
}
/// <summary>
/// 获取权限树。
/// </summary>
/// <param name="keyword">关键字(可选)。</param>
/// <param name="cancellationToken">取消标记。</param>
/// <returns>权限树列表。</returns>
[HttpGet("tree")]
[PermissionAuthorize("identity:permission:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<PermissionTreeDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<PermissionTreeDto>>> Tree([FromQuery] string? keyword, CancellationToken cancellationToken)
{
// 1. 构造查询对象
var query = new PermissionTreeQuery { Keyword = keyword };
// 2. 查询权限树
var result = await mediator.Send(query, cancellationToken);
// 3. 返回结果
return ApiResponse<IReadOnlyList<PermissionTreeDto>>.Ok(result);
}
/// <summary>
/// 创建权限。
/// </summary>