using AutoMapper; using MediatR; using mws.backend.dotnet.application.Common; namespace mws.backend.dotnet.application.Permissions; public record GetRoleQuery(Guid Id) : IRequest; public class GetRoleHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler { public async Task Handle(GetRoleQuery query, CancellationToken ct) { var role = await uow.Roles.GetByIdWithPermissionsAsync(query.Id, ct) ?? throw new NotFoundException("Role not found"); return mapper.Map(role); } }