More improvements to OIDC support
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Shared;
|
||||
|
||||
@ -10,11 +11,15 @@ namespace Oqtane.Repository
|
||||
{
|
||||
private TenantDBContext _tenant;
|
||||
private MasterDBContext _master;
|
||||
private readonly SiteState _siteState;
|
||||
private readonly IMemoryCache _cache;
|
||||
|
||||
public SettingRepository(TenantDBContext tenant, MasterDBContext master)
|
||||
public SettingRepository(TenantDBContext tenant, MasterDBContext master, SiteState siteState, IMemoryCache cache)
|
||||
{
|
||||
_tenant = tenant;
|
||||
_master = master;
|
||||
_siteState = siteState;
|
||||
_cache = cache;
|
||||
}
|
||||
|
||||
public IEnumerable<Setting> GetSettings(string entityName)
|
||||
@ -47,6 +52,7 @@ namespace Oqtane.Repository
|
||||
_tenant.Setting.Add(setting);
|
||||
_tenant.SaveChanges();
|
||||
}
|
||||
ManageCache(setting.EntityName);
|
||||
return setting;
|
||||
}
|
||||
|
||||
@ -62,6 +68,7 @@ namespace Oqtane.Repository
|
||||
_tenant.Entry(setting).State = EntityState.Modified;
|
||||
_tenant.SaveChanges();
|
||||
}
|
||||
ManageCache(setting.EntityName);
|
||||
return setting;
|
||||
}
|
||||
|
||||
@ -103,6 +110,7 @@ namespace Oqtane.Repository
|
||||
_tenant.Setting.Remove(setting);
|
||||
_tenant.SaveChanges();
|
||||
}
|
||||
ManageCache(entityName);
|
||||
}
|
||||
|
||||
public void DeleteSettings(string entityName, int entityId)
|
||||
@ -129,11 +137,20 @@ namespace Oqtane.Repository
|
||||
}
|
||||
_tenant.SaveChanges();
|
||||
}
|
||||
ManageCache(entityName);
|
||||
}
|
||||
|
||||
private bool IsMaster(string EntityName)
|
||||
{
|
||||
return (EntityName == EntityNames.ModuleDefinition || EntityName == EntityNames.Host);
|
||||
}
|
||||
|
||||
private void ManageCache(string EntityName)
|
||||
{
|
||||
if (EntityName == EntityNames.Site)
|
||||
{
|
||||
_cache.Remove("sitesettings:" + _siteState.Alias.SiteKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user