- 从多个文件中移除未使用的 System.Linq.Dynamic.Core 引用 - 从多个文件中移除未使用的 Microsoft.EntityFrameworkCore 引用 - 从 IM 模块中移除未使用的 MongoDB.Driver.Linq 引用 - 清理 Handler 文件中的冗余命名空间引用 - 优化代码结构减少不必要的依赖引入 - 提高代码整洁性和编译效率
23 lines
815 B
C#
23 lines
815 B
C#
using MediatR;
|
|
using BuildFlow.Application.Roles.DTOs;
|
|
using BuildFlow.Infrastructure.Persistence;
|
|
using BuildFlow.Application.Roles.Queries;
|
|
|
|
namespace BuildFlow.Application.Roles.Handlers;
|
|
|
|
/// <summary>
|
|
/// Get角色List查询处理器。执行业务校验后持久化。
|
|
/// </summary>
|
|
public class GetRoleListQueryHandler(RagDbContext db) : IRequestHandler<GetRoleListQuery, List<RoleDto>>
|
|
{
|
|
public async Task<List<RoleDto>> Handle(GetRoleListQuery request, CancellationToken ct)
|
|
{
|
|
return await db.Roles
|
|
.Include(r => r.RolePermissions).ThenInclude(rp => rp.Permission)
|
|
.Select(r => new RoleDto(
|
|
r.Id, r.Name, r.Description, r.CreatedAt,
|
|
r.RolePermissions.Select(rp => rp.Permission.Code).ToList()))
|
|
.ToListAsync(ct);
|
|
}
|
|
}
|