added a Setting Management UI

This commit is contained in:
sbwalker
2025-09-05 17:20:31 -04:00
parent 3e12910fbd
commit 94391875d5
9 changed files with 1024 additions and 4 deletions

View File

@ -19,6 +19,8 @@ namespace Oqtane.Repository
Setting GetSetting(string entityName, int entityId, string settingName);
void DeleteSetting(string entityName, int settingId);
void DeleteSettings(string entityName, int entityId);
IEnumerable<string> GetEntityNames();
IEnumerable<int> GetEntityIds(string entityName);
string GetSettingValue(IEnumerable<Setting> settings, string settingName, string defaultValue);
string GetSettingValue(string entityName, int entityId, string settingName, string defaultValue);
}
@ -190,6 +192,18 @@ namespace Oqtane.Repository
ManageCache(entityName);
}
public IEnumerable<string> GetEntityNames()
{
using var db = _tenantContextFactory.CreateDbContext();
return db.Setting.Select(item => item.EntityName).Distinct().OrderBy(item => item).ToList();
}
public IEnumerable<int> GetEntityIds(string entityName)
{
using var db = _tenantContextFactory.CreateDbContext();
return db.Setting.Where(item => item.EntityName == entityName)
.Select(item => item.EntityId).Distinct().OrderBy(item => item).ToList();
}
public string GetSettingValue(IEnumerable<Setting> settings, string settingName, string defaultValue)
{
var setting = settings.FirstOrDefault(item => item.SettingName == settingName);
@ -218,7 +232,9 @@ namespace Oqtane.Repository
private bool IsMaster(string EntityName)
{
return (EntityName == EntityNames.ModuleDefinition || EntityName == EntityNames.Host);
return EntityName == EntityNames.Host || EntityName == EntityNames.Job ||
EntityName == EntityNames.ModuleDefinition || EntityName == EntityNames.Theme ||
EntityName.ToLower().StartsWith("master:");
}
private void ManageCache(string EntityName)