18 lines
535 B
C#
18 lines
535 B
C#
using AutoMapper;
|
|||
|
|
using MediatR;
|
||
|
|
using Mws.Application.Common;
|
||
|
|
|
||
|
|
namespace Mws.Application.Roles;
|
||
|
|
|
||
|
|
public record GetRoleQuery(Guid Id) : IRequest<RoleDto>;
|
||
|
|
|
||
|
|
public class GetRoleHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<GetRoleQuery, RoleDto>
|
||
|
|
{
|
||
|
|
public async Task<RoleDto> Handle(GetRoleQuery query, CancellationToken ct)
|
||
|
|
{
|
||
|
|
var role = await uow.Roles.GetByIdWithPermissionsAsync(query.Id, ct)
|
||
|
|
?? throw new NotFoundException("Role not found");
|
||
|
|
return mapper.Map<RoleDto>(role);
|
||
|
|
}
|
||
|
|
}
|