Add UserRole controller + bits and pieces

This commit is contained in:
lumijiez
2025-06-10 20:17:31 +03:00
parent 9c2257581d
commit 2fd188ad57
14 changed files with 62 additions and 13 deletions

View File

@@ -1,4 +1,5 @@
using Imprink.Domain.Repositories;
using Imprink.Domain.Repositories.Products;
namespace Imprink.Application;
@@ -8,6 +9,8 @@ public interface IUnitOfWork
public ICategoryRepository CategoryRepository { get; }
public IProductVariantRepository ProductVariantRepository { get; }
public IUserRepository UserRepository { get; }
public IUserRoleRepository UserRoleRepository { get; }
public IRoleRepository RoleRepository { get; }
Task SaveAsync(CancellationToken cancellationToken = default);
Task BeginTransactionAsync(CancellationToken cancellationToken = default);

View File

@@ -0,0 +1,15 @@
using Imprink.Domain.Entities.Users;
using MediatR;
namespace Imprink.Application.Users;
public record GetUserRolesCommand(string Sub) : IRequest<IEnumerable<Role>>;
public class GetUserRolesHandler(IUnitOfWork uw): IRequestHandler<GetUserRolesCommand, IEnumerable<Role>>
{
public async Task<IEnumerable<Role>> Handle(GetUserRolesCommand request, CancellationToken cancellationToken)
{
if (await uw.UserRepository.UserExistsAsync(request.Sub, cancellationToken)) return [];
return await uw.UserRoleRepository.GetUserRolesAsync(request.Sub, cancellationToken);;
}
}