Spaces:
Running
Running
File size: 1,028 Bytes
ecb51fa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | using Microsoft.EntityFrameworkCore;
using System.Threading.Tasks;
using TaskTrackingSystem.Database.AppDbContextModels;
namespace TaskTrackingSystem.WebApi.Infrastructure
{
public static class DataScopeAuthorization
{
public static async Task<bool> IsAdminScopeAsync(AppDbContext db, long roleId)
{
if (roleId <= 0) return false;
return await db.RolePermissions.AnyAsync(rp =>
rp.RoleId == roleId &&
!rp.IsDeleted &&
rp.Permission.PermissionCode == "Roles_List" &&
!rp.Permission.IsDeleted);
}
public static async Task<bool> IsManagerScopeAsync(AppDbContext db, long roleId)
{
if (roleId <= 0) return false;
return await db.RolePermissions.AnyAsync(rp =>
rp.RoleId == roleId &&
!rp.IsDeleted &&
rp.Permission.PermissionCode == "Projects_Create" &&
!rp.Permission.IsDeleted);
}
}
}
|