More improvements to OIDC support

This commit is contained in:
Shaun Walker
2022-03-19 13:42:19 -04:00
parent 39dfc00693
commit 1a86b80c61
12 changed files with 230 additions and 93 deletions

View File

@ -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);
}
}
}
}