Add JWT authentication and authorization infrastructure
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using Distribution.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Distribution.Infra.Auth
|
||||
{
|
||||
public class PermissionService : IPermissionService
|
||||
{
|
||||
private readonly AppDBContext _context;
|
||||
|
||||
public PermissionService(AppDBContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public async Task<bool> HasPermissionAsync(Guid roleId, string permissionCode) =>
|
||||
await _context.RolePermissions
|
||||
.Where(rp => rp.FK_RoleId == roleId && rp.IsActive)
|
||||
.Join(_context.Permissions.Where(p => p.IsActive), rp => rp.FK_PermissionId, p => p.Id, (rp, p) => p.Code)
|
||||
.AnyAsync(code => code == permissionCode);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user