Handler.cs 567 B

12345678910111213141516171819
  1. using Application.Abstractions.Messaging;
  2. using Application.Abstractions.Identity;
  3. namespace Application.Features.Director.Roles.Get;
  4. public sealed class Handler(IIdentityRoleReader roleReader) : IQueryHandler<Query, List<Response>>
  5. {
  6. public async Task<List<Response>> Handle(Query request, CancellationToken ct)
  7. {
  8. var roles = await roleReader.GetRolesAsync(ct);
  9. return [..roles.Select(role => new Response
  10. {
  11. ID = role.ID,
  12. Name = role.Name,
  13. ClaimsCount = role.Claims.Count
  14. })];
  15. }
  16. }