Handler.cs 621 B

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