add logging for the logout event to the UI component, relocate module setting deletion to repository
This commit is contained in:
@ -11,5 +11,6 @@ namespace Oqtane.Repository
|
||||
Setting UpdateSetting(Setting setting);
|
||||
Setting GetSetting(string entityName, int settingId);
|
||||
void DeleteSetting(string entityName, int settingId);
|
||||
void DeleteSettings(string entityName, int entityId);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Modules;
|
||||
using Oqtane.Shared;
|
||||
using Module = Oqtane.Models.Module;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,13 +15,15 @@ namespace Oqtane.Repository
|
||||
{
|
||||
private TenantDBContext _db;
|
||||
private readonly IPermissionRepository _permissions;
|
||||
private readonly ISettingRepository _settings;
|
||||
private readonly IModuleDefinitionRepository _moduleDefinitions;
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
public ModuleRepository(TenantDBContext context, IPermissionRepository permissions, IModuleDefinitionRepository moduleDefinitions, IServiceProvider serviceProvider)
|
||||
public ModuleRepository(TenantDBContext context, IPermissionRepository permissions, ISettingRepository settings, IModuleDefinitionRepository moduleDefinitions, IServiceProvider serviceProvider)
|
||||
{
|
||||
_db = context;
|
||||
_permissions = permissions;
|
||||
_settings = settings;
|
||||
_moduleDefinitions = moduleDefinitions;
|
||||
_serviceProvider = serviceProvider;
|
||||
}
|
||||
@ -34,7 +37,7 @@ namespace Oqtane.Repository
|
||||
{
|
||||
_db.Module.Add(module);
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(module.SiteId, "Module", module.ModuleId, module.Permissions);
|
||||
_permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.Permissions);
|
||||
return module;
|
||||
}
|
||||
|
||||
@ -42,7 +45,7 @@ namespace Oqtane.Repository
|
||||
{
|
||||
_db.Entry(module).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(module.SiteId, "Module", module.ModuleId, module.Permissions);
|
||||
_permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.Permissions);
|
||||
return module;
|
||||
}
|
||||
|
||||
@ -64,7 +67,7 @@ namespace Oqtane.Repository
|
||||
}
|
||||
if (module != null)
|
||||
{
|
||||
module.Permissions = _permissions.GetPermissionString("Module", module.ModuleId);
|
||||
module.Permissions = _permissions.GetPermissionString(EntityNames.Module, module.ModuleId);
|
||||
}
|
||||
return module;
|
||||
}
|
||||
@ -72,7 +75,8 @@ namespace Oqtane.Repository
|
||||
public void DeleteModule(int moduleId)
|
||||
{
|
||||
Module module = _db.Module.Find(moduleId);
|
||||
_permissions.DeletePermissions(module.SiteId, "Module", moduleId);
|
||||
_permissions.DeletePermissions(module.SiteId, EntityNames.Module, moduleId);
|
||||
_settings.DeleteSettings(EntityNames.Module, moduleId);
|
||||
_db.Module.Remove(module);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
@ -93,6 +93,32 @@ namespace Oqtane.Repository
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteSettings(string entityName, int entityId)
|
||||
{
|
||||
if (IsMaster(entityName))
|
||||
{
|
||||
IEnumerable<Setting> settings = _master.Setting
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId);
|
||||
foreach (Setting setting in settings)
|
||||
{
|
||||
_master.Setting.Remove(setting);
|
||||
}
|
||||
_master.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
IEnumerable<Setting> settings = _tenant.Setting
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId);
|
||||
foreach (Setting setting in settings)
|
||||
{
|
||||
_tenant.Setting.Remove(setting);
|
||||
}
|
||||
_tenant.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsMaster(string EntityName)
|
||||
{
|
||||
return (EntityName == EntityNames.ModuleDefinition || EntityName == EntityNames.Host);
|
||||
|
Reference in New Issue
Block a user