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
	 Shaun Walker
					Shaun Walker