PermissionService.GetPermissionStructureAsync fixed
This commit is contained in:
@@ -50,21 +50,29 @@ public class PermissionService : IPermissionService
|
||||
p.Action == action);
|
||||
}
|
||||
|
||||
Task<List<PermissionStructureModel>> IPermissionService.GetPermissionStructureAsync(int moduleId)
|
||||
public async Task<List<PermissionStructureModel>> GetPermissionStructureAsync(int moduleId)
|
||||
{
|
||||
// First check cache
|
||||
var cacheKey = $"permission_structure_{moduleId}";
|
||||
if (!_cache.TryGetValue(cacheKey, out List<PermissionStructureModel> permissionStructure))
|
||||
{
|
||||
permissionStructure = _context.Modules.Include(i => i.Features).ThenInclude(i => i.Feature).ThenInclude(i=> i.Actions).ThenInclude(i => i.Action).Where(w => w.Id == moduleId && w.IsActive == true).Select(s => new PermissionStructureModel {
|
||||
permissionStructure = _context.Modules.Include(i => i.Features).ThenInclude(i => i.Feature).ThenInclude(i => i.Actions).ThenInclude(i => i.Action).Where(w => w.Id == moduleId && w.IsActive == true).Select(s => new PermissionStructureModel
|
||||
{
|
||||
ModuleId = s.Id,
|
||||
ModuleName = s.Name,
|
||||
Features = s.Features.Select(b => new FeaturePermissionModel
|
||||
{
|
||||
FeatureId = b.FeatureId,
|
||||
FeatureName = s.Feature.Name
|
||||
})
|
||||
});
|
||||
FeatureName = b.Feature.Name,
|
||||
Actions = b.Feature.Actions.Select(c => new ActionPermissionModel
|
||||
{
|
||||
ActionId = c.Id,
|
||||
ActionName = c.Action.Name,
|
||||
IsDisabled = false,
|
||||
IsSelected = false
|
||||
}).ToList()
|
||||
}).ToList()
|
||||
}).ToList();
|
||||
|
||||
//_context.Features.Include(i => i.Modules).Include(i => i.Actions).Where(w => w.Modules. == moduleId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user