improve API

This commit is contained in:
sbwalker
2026-03-06 11:44:29 -05:00
parent f09b21295a
commit aaffb7b84d
5 changed files with 17 additions and 23 deletions

View File

@@ -264,8 +264,7 @@ namespace Oqtane.Controllers
_userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Folder, folderid, PermissionNames.Edit) && !string.IsNullOrEmpty(filename))
{
// get content
module.IPortableContext = "Export Module";
var content = _modules.ExportModule(module);
var content = _modules.ExportModule(module, "Export Module");
// get folder
var folder = _folders.GetFolder(folderid, false);
@@ -318,8 +317,7 @@ namespace Oqtane.Controllers
var module = _modules.GetModule(moduleid);
if (ModelState.IsValid && module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Page, pageid, PermissionNames.Edit))
{
module.IPortableContext = "Import Module";
success = _modules.ImportModule(module, content);
success = _modules.ImportModule(module, content, "Import Module");
if (success)
{
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Module Content Imported {ModuleId}", moduleid);

View File

@@ -239,12 +239,10 @@ namespace Oqtane.Controllers
module = _modules.AddModule(module);
// deep copy module content (includes settings)
pm.Module.IPortableContext = "Copy Page";
string content = _modules.ExportModule(pm.Module);
string content = _modules.ExportModule(pm.Module, "Copy Page");
if (content != "")
{
module.IPortableContext = "Copy Page";
_modules.ImportModule(module, content);
_modules.ImportModule(module, content, "Copy Page");
}
PageModule pagemodule = new PageModule();
@@ -562,12 +560,10 @@ namespace Oqtane.Controllers
module = _modules.AddModule(module);
// deep copy module content (includes settings)
pm.Module.IPortableContext = "Copy Page";
string content = _modules.ExportModule(pm.Module);
string content = _modules.ExportModule(pm.Module, "Copy Page");
if (content != "")
{
module.IPortableContext = "Copy Page";
_modules.ImportModule(module, content);
_modules.ImportModule(module, content, "Copy Page");
}
}
else

View File

@@ -149,12 +149,11 @@ namespace Oqtane.Infrastructure
// module content
if (globalReplace.Content)
{
pageModule.Module.IPortableContext = "Global Replace";
var content = moduleRepository.ExportModule(pageModule.Module);
var content = moduleRepository.ExportModule(pageModule.Module, "Global Replace");
if (!string.IsNullOrEmpty(content) && content.Contains(WebUtility.HtmlEncode(find), comparisonType))
{
content = content.Replace(WebUtility.HtmlEncode(find), WebUtility.HtmlEncode(replace), comparisonType);
moduleRepository.ImportModule(pageModule.Module, content);
moduleRepository.ImportModule(pageModule.Module, content, "Global Replace");
log += $"Module Content Updated: {pageModule.Title} Page: /{page.Path}<br />";
}
}

View File

@@ -20,9 +20,9 @@ namespace Oqtane.Repository
Module GetModule(int moduleId, bool tracking);
void DeleteModule(int moduleId);
string ExportModule(int moduleId);
string ExportModule(Module module);
string ExportModule(Module module, string IPortableContext);
bool ImportModule(int moduleId, string content);
bool ImportModule(Module module, string content);
bool ImportModule(Module module, string content, string IPortableContext);
}
public class ModuleRepository : IModuleRepository
@@ -103,10 +103,10 @@ namespace Oqtane.Repository
public string ExportModule(int moduleId)
{
Module module = GetModule(moduleId);
return ExportModule(module);
return ExportModule(module, "Export Module");
}
public string ExportModule(Module module)
public string ExportModule(Module module, string IPortableContext)
{
string content = "";
try
@@ -132,6 +132,7 @@ namespace Oqtane.Repository
{
try
{
module.IPortableContext = IPortableContext;
module.Settings = settings.ToDictionary(x => x.SettingName, x => x.SettingValue);
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
modulecontent.Content = ((IPortable)moduleobject).ExportModule(module);
@@ -158,10 +159,10 @@ namespace Oqtane.Repository
public bool ImportModule(int moduleId, string content)
{
Module module = GetModule(moduleId);
return ImportModule(module, content);
return ImportModule(module, content, "Import Module");
}
public bool ImportModule(Module module, string content)
public bool ImportModule(Module module, string content, string IPortableContext)
{
bool success = false;
try
@@ -216,6 +217,7 @@ namespace Oqtane.Repository
{
try
{
module.IPortableContext = IPortableContext;
module.Settings = _settings.GetSettings(EntityNames.Module, module.ModuleId).ToDictionary(x => x.SettingName, x => x.SettingValue);
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
((IPortable)moduleobject).ImportModule(module, modulecontent.Content, modulecontent.Version);

View File

@@ -535,8 +535,7 @@ namespace Oqtane.Repository
if (!string.IsNullOrEmpty(pageTemplateModule.Content))
{
var module = _moduleRepository.GetModule(pageModule.ModuleId);
module.IPortableContext = "Site Template";
if (!_moduleRepository.ImportModule(module, pageTemplateModule.Content))
if (!_moduleRepository.ImportModule(module, pageTemplateModule.Content, "Site Template"))
{
if (alias != null)
{