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
	 Shaun Walker
					Shaun Walker