Merge branch 'master' into master

This commit is contained in:
Shaun Walker 2020-03-19 12:10:12 -04:00 committed by GitHub
commit 0c2d1d2449
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 54 additions and 50 deletions

View File

@ -36,7 +36,7 @@
<label class="control-label">Permissions: </label>
</td>
<td>
<PermissionGrid EntityName="Folder" PermissionNames="Browse,View,Edit" Permissions="@_permissions" @ref="_permissionGrid" />
<PermissionGrid EntityName="@EntityNames.Folder" PermissionNames="Browse,View,Edit" Permissions="@_permissions" @ref="_permissionGrid" />
</td>
</tr>
</table>

View File

@ -17,7 +17,7 @@
<label class="control-label">Permissions: </label>
</td>
<td>
<PermissionGrid EntityName="ModuleDefinition" PermissionNames=PermissionNames.Utilize Permissions="@_permissions" @ref="_permissionGrid" />
<PermissionGrid EntityName="@EntityNames.ModuleDefinition" PermissionNames=PermissionNames.Utilize Permissions="@_permissions" @ref="_permissionGrid" />
</td>
</tr>
</table>

View File

@ -34,7 +34,7 @@
<label for="Name" class="control-label">Permissions: </label>
</td>
<td>
<PermissionGrid EntityName="Module" PermissionNames="@_permissionNames" Permissions="@_permissions" @ref="_permissionGrid" />
<PermissionGrid EntityName="@EntityNames.Module" PermissionNames="@_permissionNames" Permissions="@_permissions" @ref="_permissionGrid" />
</td>
</tr>
<tr>

View File

@ -137,7 +137,7 @@
<label for="Name" class="control-label">Permissions: </label>
</td>
<td>
<PermissionGrid EntityName="Page" Permissions="@_permissions" @ref="_permissionGrid" />
<PermissionGrid EntityName="@EntityNames.Page" Permissions="@_permissions" @ref="_permissionGrid" />
</td>
</tr>
</table>

View File

@ -155,7 +155,7 @@
<label for="Name" class="control-label">Permissions: </label>
</td>
<td>
<PermissionGrid EntityName="Page" Permissions="@_permissions" @ref="_permissionGrid" />
<PermissionGrid EntityName="@EntityNames.Page" Permissions="@_permissions" @ref="_permissionGrid" />
</td>
</tr>
</table>

View File

@ -24,7 +24,7 @@ namespace Oqtane.Services
_navigationManager = navigationManager;
}
private string ApiUrl => CreateApiUrl(_siteState.Alias, _navigationManager.Uri, "Folder");
private string ApiUrl => CreateApiUrl(_siteState.Alias, _navigationManager.Uri, EntityNames.Folder);
public async Task<List<Folder>> GetFoldersAsync(int siteId)
{

View File

@ -28,7 +28,7 @@ namespace Oqtane.Services
private string Apiurl
{
get { return CreateApiUrl(_siteState.Alias, _navigationManager.Uri, "ModuleDefinition"); }
get { return CreateApiUrl(_siteState.Alias, _navigationManager.Uri, EntityNames.ModuleDefinition); }
}
public async Task<List<ModuleDefinition>> GetModuleDefinitionsAsync(int siteId)

View File

@ -28,72 +28,72 @@ namespace Oqtane.Services
public async Task<Dictionary<string, string>> GetHostSettingsAsync()
{
return await GetSettingsAsync("Host", -1);
return await GetSettingsAsync(EntityNames.Host, -1);
}
public async Task UpdateHostSettingsAsync(Dictionary<string, string> hostSettings)
{
await UpdateSettingsAsync(hostSettings, "Host", -1);
await UpdateSettingsAsync(hostSettings, EntityNames.Host, -1);
}
public async Task<Dictionary<string, string>> GetSiteSettingsAsync(int siteId)
{
return await GetSettingsAsync("Site", siteId);
return await GetSettingsAsync(EntityNames.Site, siteId);
}
public async Task UpdateSiteSettingsAsync(Dictionary<string, string> siteSettings, int siteId)
{
await UpdateSettingsAsync(siteSettings, "Site", siteId);
await UpdateSettingsAsync(siteSettings, EntityNames.Site, siteId);
}
public async Task<Dictionary<string, string>> GetPageSettingsAsync(int pageId)
{
return await GetSettingsAsync("Page", pageId);
return await GetSettingsAsync(EntityNames.Page, pageId);
}
public async Task UpdatePageSettingsAsync(Dictionary<string, string> pageSettings, int pageId)
{
await UpdateSettingsAsync(pageSettings, "Page", pageId);
await UpdateSettingsAsync(pageSettings, EntityNames.Page, pageId);
}
public async Task<Dictionary<string, string>> GetPageModuleSettingsAsync(int pageModuleId)
{
return await GetSettingsAsync("PageModule", pageModuleId);
return await GetSettingsAsync(EntityNames.PageModule, pageModuleId);
}
public async Task UpdatePageModuleSettingsAsync(Dictionary<string, string> pageModuleSettings, int pageModuleId)
{
await UpdateSettingsAsync(pageModuleSettings, "PageModule", pageModuleId);
await UpdateSettingsAsync(pageModuleSettings, EntityNames.PageModule, pageModuleId);
}
public async Task<Dictionary<string, string>> GetModuleSettingsAsync(int moduleId)
{
return await GetSettingsAsync("Module", moduleId);
return await GetSettingsAsync(EntityNames.Module, moduleId);
}
public async Task UpdateModuleSettingsAsync(Dictionary<string, string> moduleSettings, int moduleId)
{
await UpdateSettingsAsync(moduleSettings, "Module", moduleId);
await UpdateSettingsAsync(moduleSettings, EntityNames.Module, moduleId);
}
public async Task<Dictionary<string, string>> GetUserSettingsAsync(int userId)
{
return await GetSettingsAsync("User", userId);
return await GetSettingsAsync(EntityNames.User, userId);
}
public async Task UpdateUserSettingsAsync(Dictionary<string, string> userSettings, int userId)
{
await UpdateSettingsAsync(userSettings, "User", userId);
await UpdateSettingsAsync(userSettings, EntityNames.User, userId);
}
public async Task<Dictionary<string, string>> GetFolderSettingsAsync(int folderId)
{
return await GetSettingsAsync("Folder", folderId);
return await GetSettingsAsync( EntityNames.Folder, folderId);
}
public async Task UpdateFolderSettingsAsync(Dictionary<string, string> folderSettings, int folderId)
{
await UpdateSettingsAsync(folderSettings, "Folder", folderId);
await UpdateSettingsAsync(folderSettings, EntityNames.Folder, folderId);
}
public async Task<Dictionary<string, string>> GetSettingsAsync(string entityName, int entityId)

View File

@ -116,11 +116,11 @@
// process any sync events for site or page
if (reload != Reload.Site && alias.SyncEvents.Any())
{
if (PageState != null && alias.SyncEvents.Exists(item => item.EntityName == "Page" && item.EntityId == PageState.Page.PageId))
if (PageState != null && alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Page && item.EntityId == PageState.Page.PageId))
{
reload = Reload.Page;
}
if (alias.SyncEvents.Exists(item => item.EntityName == "Site" && item.EntityId == alias.SiteId))
if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Site && item.EntityId == alias.SiteId))
{
reload = Reload.Site;
}
@ -154,7 +154,7 @@
// process any sync events for user
if (reload != Reload.Site && user != null && alias.SyncEvents.Any())
{
if (alias.SyncEvents.Exists(item => item.EntityName == "User" && item.EntityId == user.UserId))
if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.User && item.EntityId == user.UserId))
{
reload = Reload.Site;
}

View File

@ -41,7 +41,7 @@ namespace Oqtane.Infrastructure
log += "Processing Notifications For Site: " + site.Name + "\n\n";
// get site settings
List<Setting> sitesettings = settingRepository.GetSettings("Site", site.SiteId).ToList();
List<Setting> sitesettings = settingRepository.GetSettings(EntityNames.Site, site.SiteId).ToList();
Dictionary<string, string> settings = GetSettings(sitesettings);
if (settings.ContainsKey("SMTPHost") && settings["SMTPHost"] != "")
{

View File

@ -2,6 +2,7 @@
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Oqtane.Models;
using Oqtane.Shared;
namespace Oqtane.Repository
{
@ -18,7 +19,7 @@ namespace Oqtane.Repository
public IEnumerable<File> GetFiles(int folderId)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", folderId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Folder, folderId).ToList();
IEnumerable<File> files = _db.File.Where(item => item.FolderId == folderId).Include(item => item.Folder);
foreach (File file in files)
{
@ -46,7 +47,7 @@ namespace Oqtane.Repository
File file = _db.File.Where(item => item.FileId == fileId).Include(item => item.Folder).FirstOrDefault();
if (file != null)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", file.FolderId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Folder, file.FolderId).ToList();
file.Folder.Permissions = _permissions.EncodePermissions(permissions);
}
return file;

View File

@ -2,6 +2,7 @@
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Oqtane.Models;
using Oqtane.Shared;
namespace Oqtane.Repository
{
@ -18,7 +19,7 @@ namespace Oqtane.Repository
public IEnumerable<Folder> GetFolders(int siteId)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions(siteId, "Folder").ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(siteId, EntityNames.Folder).ToList();
IEnumerable<Folder> folders = _db.Folder.Where(item => item.SiteId == siteId);
foreach(Folder folder in folders)
{
@ -31,7 +32,7 @@ namespace Oqtane.Repository
{
_db.Folder.Add(folder);
_db.SaveChanges();
_permissions.UpdatePermissions(folder.SiteId, "Folder", folder.FolderId, folder.Permissions);
_permissions.UpdatePermissions(folder.SiteId, EntityNames.Folder, folder.FolderId, folder.Permissions);
return folder;
}
@ -39,7 +40,7 @@ namespace Oqtane.Repository
{
_db.Entry(folder).State = EntityState.Modified;
_db.SaveChanges();
_permissions.UpdatePermissions(folder.SiteId, "Folder", folder.FolderId, folder.Permissions);
_permissions.UpdatePermissions(folder.SiteId, EntityNames.Folder, folder.FolderId, folder.Permissions);
return folder;
}
@ -48,7 +49,7 @@ namespace Oqtane.Repository
Folder folder = _db.Folder.Find(folderId);
if (folder != null)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", folder.FolderId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Folder, folder.FolderId).ToList();
folder.Permissions = _permissions.EncodePermissions(permissions);
}
return folder;
@ -59,7 +60,7 @@ namespace Oqtane.Repository
Folder folder = _db.Folder.Where(item => item.SiteId == siteId && item.Path == path).FirstOrDefault();
if (folder != null)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", folder.FolderId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Folder, folder.FolderId).ToList();
folder.Permissions = _permissions.EncodePermissions(permissions);
}
return folder;
@ -68,7 +69,7 @@ namespace Oqtane.Repository
public void DeleteFolder(int folderId)
{
Folder folder = _db.Folder.Find(folderId);
_permissions.DeletePermissions(folder.SiteId, "Folder", folderId);
_permissions.DeletePermissions(folder.SiteId, EntityNames.Folder, folderId);
_db.Folder.Remove(folder);
_db.SaveChanges();
}

View File

@ -35,14 +35,14 @@ namespace Oqtane.Repository
public void UpdateModuleDefinition(ModuleDefinition moduleDefinition)
{
_permissions.UpdatePermissions(moduleDefinition.SiteId, "ModuleDefinition", moduleDefinition.ModuleDefinitionId, moduleDefinition.Permissions);
_permissions.UpdatePermissions(moduleDefinition.SiteId, EntityNames.ModuleDefinition, moduleDefinition.ModuleDefinitionId, moduleDefinition.Permissions);
_cache.Remove("moduledefinitions");
}
public void DeleteModuleDefinition(int moduleDefinitionId, int siteId)
{
ModuleDefinition moduleDefinition = _db.ModuleDefinition.Find(moduleDefinitionId);
_permissions.DeletePermissions(siteId, "ModuleDefinition", moduleDefinitionId);
_permissions.DeletePermissions(siteId, EntityNames.ModuleDefinition, moduleDefinitionId);
_db.ModuleDefinition.Remove(moduleDefinition);
_db.SaveChanges();
_cache.Remove("moduledefinitions");
@ -60,7 +60,7 @@ namespace Oqtane.Repository
});
// get module defintion permissions for site
List<Permission> permissions = _permissions.GetPermissions(siteId, "ModuleDefinition").ToList();
List<Permission> permissions = _permissions.GetPermissions(siteId, EntityNames.ModuleDefinition).ToList();
// get module definitions in database
List<ModuleDefinition> moduledefs = _db.ModuleDefinition.ToList();
@ -75,14 +75,14 @@ namespace Oqtane.Repository
moduledef = new ModuleDefinition { ModuleDefinitionName = moduledefinition.ModuleDefinitionName };
_db.ModuleDefinition.Add(moduledef);
_db.SaveChanges();
_permissions.UpdatePermissions(siteId, "ModuleDefinition", moduledef.ModuleDefinitionId, moduledefinition.Permissions);
_permissions.UpdatePermissions(siteId, EntityNames.ModuleDefinition, moduledef.ModuleDefinitionId, moduledefinition.Permissions);
}
else
{
// existing module definition
if (permissions.Count == 0)
{
_permissions.UpdatePermissions(siteId, "ModuleDefinition", moduledef.ModuleDefinitionId, moduledefinition.Permissions);
_permissions.UpdatePermissions(siteId, EntityNames.ModuleDefinition, moduledef.ModuleDefinitionId, moduledefinition.Permissions);
}
else
{
@ -102,7 +102,7 @@ namespace Oqtane.Repository
// any remaining module definitions are orphans
foreach (ModuleDefinition moduledefinition in moduledefs)
{
_permissions.DeletePermissions(siteId, "ModuleDefinition", moduledefinition.ModuleDefinitionId);
_permissions.DeletePermissions(siteId, EntityNames.ModuleDefinition, moduledefinition.ModuleDefinitionId);
_db.ModuleDefinition.Remove(moduledefinition); // delete
}

View File

@ -2,6 +2,7 @@
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Oqtane.Models;
using Oqtane.Shared;
namespace Oqtane.Repository
{
@ -20,7 +21,7 @@ namespace Oqtane.Repository
public IEnumerable<Page> GetPages(int siteId)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions(siteId, "Page").ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(siteId, EntityNames.Page).ToList();
IEnumerable<Page> pages = _db.Page.Where(item => item.SiteId == siteId && item.UserId == null);
foreach(Page page in pages)
{
@ -33,7 +34,7 @@ namespace Oqtane.Repository
{
_db.Page.Add(page);
_db.SaveChanges();
_permissions.UpdatePermissions(page.SiteId, "Page", page.PageId, page.Permissions);
_permissions.UpdatePermissions(page.SiteId, EntityNames.Page, page.PageId, page.Permissions);
return page;
}
@ -41,7 +42,7 @@ namespace Oqtane.Repository
{
_db.Entry(page).State = EntityState.Modified;
_db.SaveChanges();
_permissions.UpdatePermissions(page.SiteId, "Page", page.PageId, page.Permissions);
_permissions.UpdatePermissions(page.SiteId, EntityNames.Page, page.PageId, page.Permissions);
return page;
}
@ -50,7 +51,7 @@ namespace Oqtane.Repository
Page page = _db.Page.Find(pageId);
if (page != null)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Page", page.PageId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Page, page.PageId).ToList();
page.Permissions = _permissions.EncodePermissions(permissions);
}
return page;
@ -68,7 +69,7 @@ namespace Oqtane.Repository
}
if (page != null)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Page", page.PageId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Page, page.PageId).ToList();
page.Permissions = _permissions.EncodePermissions(permissions);
}
}
@ -80,7 +81,7 @@ namespace Oqtane.Repository
Page page = _db.Page.Where(item => item.Path == path && item.SiteId == siteId).FirstOrDefault();
if (page != null)
{
IEnumerable<Permission> permissions = _permissions.GetPermissions("Page", page.PageId).ToList();
IEnumerable<Permission> permissions = _permissions.GetPermissions(EntityNames.Page, page.PageId).ToList();
page.Permissions = _permissions.EncodePermissions(permissions);
}
return page;
@ -89,7 +90,7 @@ namespace Oqtane.Repository
public void DeletePage(int pageId)
{
Page page = _db.Page.Find(pageId);
_permissions.DeletePermissions(page.SiteId, "Page", pageId);
_permissions.DeletePermissions(page.SiteId, EntityNames.Page, pageId);
IEnumerable<PageModule> pageModules = _db.PageModule.Where(item => item.PageId == pageId).ToList();
foreach (var pageModule in pageModules)
{

View File

@ -249,10 +249,10 @@ namespace Oqtane
// register authorization services
services.AddAuthorizationCore(options =>
{
options.AddPolicy("ViewPage", policy => policy.Requirements.Add(new PermissionRequirement("Page", PermissionNames.View)));
options.AddPolicy("EditPage", policy => policy.Requirements.Add(new PermissionRequirement("Page", PermissionNames.Edit)));
options.AddPolicy("ViewModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", PermissionNames.View)));
options.AddPolicy("EditModule", policy => policy.Requirements.Add(new PermissionRequirement("Module", PermissionNames.Edit)));
options.AddPolicy("ViewPage", policy => policy.Requirements.Add(new PermissionRequirement(EntityNames.Page, PermissionNames.View)));
options.AddPolicy("EditPage", policy => policy.Requirements.Add(new PermissionRequirement(EntityNames.Page, PermissionNames.Edit)));
options.AddPolicy("ViewModule", policy => policy.Requirements.Add(new PermissionRequirement(EntityNames.Module, PermissionNames.View)));
options.AddPolicy("EditModule", policy => policy.Requirements.Add(new PermissionRequirement(EntityNames.Module, PermissionNames.Edit)));
});
// register scoped core services

View File

@ -3,6 +3,7 @@
public class EntityNames
{
public const string Module = "Module";
public const string ModuleDefinition = "ModuleDefinition";
public const string PageModule = "PageModule";
public const string Host = "Host";
public const string Site = "Site";