using AutoMapper; using MediatR; using Mws.Application.Common; namespace Mws.Application.Roles; 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); } }