diff --git a/Oqtane.Server/Controllers/ModuleController.cs b/Oqtane.Server/Controllers/ModuleController.cs index e23aa0d3..f6578624 100644 --- a/Oqtane.Server/Controllers/ModuleController.cs +++ b/Oqtane.Server/Controllers/ModuleController.cs @@ -75,7 +75,7 @@ namespace Oqtane.Controllers module.Order = pagemodule.Order; module.ContainerType = pagemodule.ContainerType; - module.ModuleDefinition = FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName)); + module.ModuleDefinition = _moduleDefinitions.FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName)); module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId) .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList)) @@ -95,29 +95,6 @@ namespace Oqtane.Controllers return modules; } - private ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition) - { - if (moduleDefinition != null) - { - moduleDefinition.Description = ""; - moduleDefinition.Categories = ""; - moduleDefinition.Version = ""; - moduleDefinition.Owner = ""; - moduleDefinition.Url = ""; - moduleDefinition.Contact = ""; - moduleDefinition.License = ""; - moduleDefinition.Dependencies = ""; - moduleDefinition.PermissionNames = ""; - moduleDefinition.ServerManagerType = ""; - moduleDefinition.ReleaseVersions = ""; - moduleDefinition.PackageName = ""; - moduleDefinition.AssemblyName = ""; - moduleDefinition.PermissionList = null; - moduleDefinition.Template = ""; - } - return moduleDefinition; - } - // GET api//5 [HttpGet("{id}")] public Module Get(int id) @@ -126,7 +103,7 @@ namespace Oqtane.Controllers if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, module.PermissionList)) { List moduledefinitions = _moduleDefinitions.GetModuleDefinitions(module.SiteId).ToList(); - module.ModuleDefinition = FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName)); + module.ModuleDefinition = _moduleDefinitions.FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName)); module.Settings = _settings.GetSettings(EntityNames.Module, id) .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, module.PermissionList)) .ToDictionary(setting => setting.SettingName, setting => setting.SettingValue); diff --git a/Oqtane.Server/Controllers/SiteController.cs b/Oqtane.Server/Controllers/SiteController.cs index 9502055b..2ce891b7 100644 --- a/Oqtane.Server/Controllers/SiteController.cs +++ b/Oqtane.Server/Controllers/SiteController.cs @@ -128,7 +128,7 @@ namespace Oqtane.Controllers module.Order = pagemodule.Order; module.ContainerType = pagemodule.ContainerType; - module.ModuleDefinition = FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName)); + module.ModuleDefinition = _moduleDefinitions.FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName)); module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId) .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList)) @@ -153,28 +153,6 @@ namespace Oqtane.Controllers } } - private ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition) - { - var ModuleDefinition = new ModuleDefinition(); - - if (moduleDefinition != null) - { - // required client-side properties - ModuleDefinition.ModuleDefinitionId = moduleDefinition.ModuleDefinitionId; - ModuleDefinition.SiteId = moduleDefinition.SiteId; - ModuleDefinition.ModuleDefinitionName = moduleDefinition.ModuleDefinitionName; - ModuleDefinition.Name = moduleDefinition.Name; - ModuleDefinition.Runtimes = moduleDefinition.Runtimes; - ModuleDefinition.ControlTypeRoutes = moduleDefinition.ControlTypeRoutes; - ModuleDefinition.DefaultAction = moduleDefinition.DefaultAction; - ModuleDefinition.SettingsType = moduleDefinition.SettingsType; - ModuleDefinition.ControlTypeTemplate = moduleDefinition.ControlTypeTemplate; - ModuleDefinition.IsPortable = moduleDefinition.IsPortable; - } - - return ModuleDefinition; - } - // POST api/ [HttpPost] [Authorize(Roles = RoleNames.Host)] diff --git a/Oqtane.Server/Repository/Interfaces/IModuleDefinitionRepository.cs b/Oqtane.Server/Repository/Interfaces/IModuleDefinitionRepository.cs index 5373e467..eb4f45d9 100644 --- a/Oqtane.Server/Repository/Interfaces/IModuleDefinitionRepository.cs +++ b/Oqtane.Server/Repository/Interfaces/IModuleDefinitionRepository.cs @@ -10,5 +10,6 @@ namespace Oqtane.Repository ModuleDefinition GetModuleDefinition(int moduleDefinitionId, int siteId); void UpdateModuleDefinition(ModuleDefinition moduleDefinition); void DeleteModuleDefinition(int moduleDefinitionId); + ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition); } } diff --git a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs index f003cc10..2c87b2b7 100644 --- a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs +++ b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs @@ -59,6 +59,28 @@ namespace Oqtane.Repository _cache.Remove("moduledefinitions"); } + public ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition) + { + var ModuleDefinition = new ModuleDefinition(); + + if (moduleDefinition != null) + { + // only include required client-side properties + ModuleDefinition.ModuleDefinitionId = moduleDefinition.ModuleDefinitionId; + ModuleDefinition.SiteId = moduleDefinition.SiteId; + ModuleDefinition.ModuleDefinitionName = moduleDefinition.ModuleDefinitionName; + ModuleDefinition.Name = moduleDefinition.Name; + ModuleDefinition.Runtimes = moduleDefinition.Runtimes; + ModuleDefinition.ControlTypeRoutes = moduleDefinition.ControlTypeRoutes; + ModuleDefinition.DefaultAction = moduleDefinition.DefaultAction; + ModuleDefinition.SettingsType = moduleDefinition.SettingsType; + ModuleDefinition.ControlTypeTemplate = moduleDefinition.ControlTypeTemplate; + ModuleDefinition.IsPortable = moduleDefinition.IsPortable; + } + + return ModuleDefinition; + } + public List LoadModuleDefinitions(int siteId) { // get module definitions