From 84496e11f210f64c280def3ca794c14ee6dac72a Mon Sep 17 00:00:00 2001 From: Pavel Vesely Date: Mon, 16 Mar 2020 17:29:07 +0100 Subject: [PATCH 1/2] Magic Strings --- Oqtane.Client/Services/SettingService.cs | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Oqtane.Client/Services/SettingService.cs b/Oqtane.Client/Services/SettingService.cs index 15aa9ad2..d52878c8 100644 --- a/Oqtane.Client/Services/SettingService.cs +++ b/Oqtane.Client/Services/SettingService.cs @@ -28,72 +28,72 @@ namespace Oqtane.Services public async Task> GetHostSettingsAsync() { - return await GetSettingsAsync("Host", -1); + return await GetSettingsAsync(EntityNames.Host, -1); } public async Task UpdateHostSettingsAsync(Dictionary hostSettings) { - await UpdateSettingsAsync(hostSettings, "Host", -1); + await UpdateSettingsAsync(hostSettings, EntityNames.Host, -1); } public async Task> GetSiteSettingsAsync(int siteId) { - return await GetSettingsAsync("Site", siteId); + return await GetSettingsAsync(EntityNames.Site, siteId); } public async Task UpdateSiteSettingsAsync(Dictionary siteSettings, int siteId) { - await UpdateSettingsAsync(siteSettings, "Site", siteId); + await UpdateSettingsAsync(siteSettings, EntityNames.Site, siteId); } public async Task> GetPageSettingsAsync(int pageId) { - return await GetSettingsAsync("Page", pageId); + return await GetSettingsAsync(EntityNames.Page, pageId); } public async Task UpdatePageSettingsAsync(Dictionary pageSettings, int pageId) { - await UpdateSettingsAsync(pageSettings, "Page", pageId); + await UpdateSettingsAsync(pageSettings, EntityNames.Page, pageId); } public async Task> GetPageModuleSettingsAsync(int pageModuleId) { - return await GetSettingsAsync("PageModule", pageModuleId); + return await GetSettingsAsync(EntityNames.PageModule, pageModuleId); } public async Task UpdatePageModuleSettingsAsync(Dictionary pageModuleSettings, int pageModuleId) { - await UpdateSettingsAsync(pageModuleSettings, "PageModule", pageModuleId); + await UpdateSettingsAsync(pageModuleSettings, EntityNames.PageModule, pageModuleId); } public async Task> GetModuleSettingsAsync(int moduleId) { - return await GetSettingsAsync("Module", moduleId); + return await GetSettingsAsync(EntityNames.Module, moduleId); } public async Task UpdateModuleSettingsAsync(Dictionary moduleSettings, int moduleId) { - await UpdateSettingsAsync(moduleSettings, "Module", moduleId); + await UpdateSettingsAsync(moduleSettings, EntityNames.Module, moduleId); } public async Task> GetUserSettingsAsync(int userId) { - return await GetSettingsAsync("User", userId); + return await GetSettingsAsync(EntityNames.User, userId); } public async Task UpdateUserSettingsAsync(Dictionary userSettings, int userId) { - await UpdateSettingsAsync(userSettings, "User", userId); + await UpdateSettingsAsync(userSettings, EntityNames.User, userId); } public async Task> GetFolderSettingsAsync(int folderId) { - return await GetSettingsAsync("Folder", folderId); + return await GetSettingsAsync( EntityNames.Folder, folderId); } public async Task UpdateFolderSettingsAsync(Dictionary folderSettings, int folderId) { - await UpdateSettingsAsync(folderSettings, "Folder", folderId); + await UpdateSettingsAsync(folderSettings, EntityNames.Folder, folderId); } public async Task> GetSettingsAsync(string entityName, int entityId) From 65d39974b52000ed51eea1b784d917db5bf55380 Mon Sep 17 00:00:00 2001 From: Pavel Vesely Date: Wed, 18 Mar 2020 08:53:26 +0100 Subject: [PATCH 2/2] Magic Strings - EntityNames --- Oqtane.Client/Modules/Admin/Files/Edit.razor | 2 +- .../Modules/Admin/ModuleDefinitions/Edit.razor | 2 +- .../Modules/Admin/Modules/Settings.razor | 2 +- Oqtane.Client/Modules/Admin/Pages/Add.razor | 2 +- Oqtane.Client/Modules/Admin/Pages/Edit.razor | 2 +- Oqtane.Client/Services/FolderService.cs | 2 +- Oqtane.Client/Services/ModuleDefinitionService.cs | 2 +- Oqtane.Client/UI/SiteRouter.razor | 6 +++--- .../Infrastructure/Jobs/NotificationJob.cs | 2 +- Oqtane.Server/Repository/FileRepository.cs | 5 +++-- Oqtane.Server/Repository/FolderRepository.cs | 13 +++++++------ .../Repository/ModuleDefinitionRepository.cs | 12 ++++++------ Oqtane.Server/Repository/PageRepository.cs | 15 ++++++++------- Oqtane.Server/Startup.cs | 8 ++++---- Oqtane.Shared/Shared/EntityNames.cs | 1 + 15 files changed, 40 insertions(+), 36 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Files/Edit.razor b/Oqtane.Client/Modules/Admin/Files/Edit.razor index bbe37f9b..a115bcd3 100644 --- a/Oqtane.Client/Modules/Admin/Files/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Files/Edit.razor @@ -36,7 +36,7 @@ - + diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor index 3b4ad4df..64b28fc1 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor @@ -17,7 +17,7 @@ - + diff --git a/Oqtane.Client/Modules/Admin/Modules/Settings.razor b/Oqtane.Client/Modules/Admin/Modules/Settings.razor index ae515412..73bd79c7 100644 --- a/Oqtane.Client/Modules/Admin/Modules/Settings.razor +++ b/Oqtane.Client/Modules/Admin/Modules/Settings.razor @@ -34,7 +34,7 @@ - + diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor index e912cc9d..07c0954c 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Add.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor @@ -137,7 +137,7 @@ - + diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor index ba2eef54..b91f8b6d 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor @@ -155,7 +155,7 @@ - + diff --git a/Oqtane.Client/Services/FolderService.cs b/Oqtane.Client/Services/FolderService.cs index d6f5377e..3c80957c 100644 --- a/Oqtane.Client/Services/FolderService.cs +++ b/Oqtane.Client/Services/FolderService.cs @@ -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> GetFoldersAsync(int siteId) { diff --git a/Oqtane.Client/Services/ModuleDefinitionService.cs b/Oqtane.Client/Services/ModuleDefinitionService.cs index 2afbd1fa..ea1e658f 100644 --- a/Oqtane.Client/Services/ModuleDefinitionService.cs +++ b/Oqtane.Client/Services/ModuleDefinitionService.cs @@ -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> GetModuleDefinitionsAsync(int siteId) diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor index af0ec10e..6bc85872 100644 --- a/Oqtane.Client/UI/SiteRouter.razor +++ b/Oqtane.Client/UI/SiteRouter.razor @@ -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; } diff --git a/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs b/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs index eea37e47..bd667486 100644 --- a/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs +++ b/Oqtane.Server/Infrastructure/Jobs/NotificationJob.cs @@ -41,7 +41,7 @@ namespace Oqtane.Infrastructure log += "Processing Notifications For Site: " + site.Name + "\n\n"; // get site settings - List sitesettings = settingRepository.GetSettings("Site", site.SiteId).ToList(); + List sitesettings = settingRepository.GetSettings(EntityNames.Site, site.SiteId).ToList(); Dictionary settings = GetSettings(sitesettings); if (settings.ContainsKey("SMTPHost") && settings["SMTPHost"] != "") { diff --git a/Oqtane.Server/Repository/FileRepository.cs b/Oqtane.Server/Repository/FileRepository.cs index fe5d3380..6f725d9d 100644 --- a/Oqtane.Server/Repository/FileRepository.cs +++ b/Oqtane.Server/Repository/FileRepository.cs @@ -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 GetFiles(int folderId) { - IEnumerable permissions = _permissions.GetPermissions("Folder", folderId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Folder, folderId).ToList(); IEnumerable 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 permissions = _permissions.GetPermissions("Folder", file.FolderId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Folder, file.FolderId).ToList(); file.Folder.Permissions = _permissions.EncodePermissions(file.FolderId, permissions); } return file; diff --git a/Oqtane.Server/Repository/FolderRepository.cs b/Oqtane.Server/Repository/FolderRepository.cs index b3d6f4e3..55ea5cfa 100644 --- a/Oqtane.Server/Repository/FolderRepository.cs +++ b/Oqtane.Server/Repository/FolderRepository.cs @@ -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 GetFolders(int siteId) { - IEnumerable permissions = _permissions.GetPermissions(siteId, "Folder").ToList(); + IEnumerable permissions = _permissions.GetPermissions(siteId, EntityNames.Folder).ToList(); IEnumerable 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 permissions = _permissions.GetPermissions("Folder", folder.FolderId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Folder, folder.FolderId).ToList(); folder.Permissions = _permissions.EncodePermissions(folder.FolderId, 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 permissions = _permissions.GetPermissions("Folder", folder.FolderId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Folder, folder.FolderId).ToList(); folder.Permissions = _permissions.EncodePermissions(folder.FolderId, 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(); } diff --git a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs index 509a7bcf..001a4092 100644 --- a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs +++ b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs @@ -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 permissions = _permissions.GetPermissions(siteId, "ModuleDefinition").ToList(); + List permissions = _permissions.GetPermissions(siteId, EntityNames.ModuleDefinition).ToList(); // get module definitions in database List 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 } diff --git a/Oqtane.Server/Repository/PageRepository.cs b/Oqtane.Server/Repository/PageRepository.cs index f5b726f3..d967f37e 100644 --- a/Oqtane.Server/Repository/PageRepository.cs +++ b/Oqtane.Server/Repository/PageRepository.cs @@ -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 GetPages(int siteId) { - IEnumerable permissions = _permissions.GetPermissions(siteId, "Page").ToList(); + IEnumerable permissions = _permissions.GetPermissions(siteId, EntityNames.Page).ToList(); IEnumerable 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 permissions = _permissions.GetPermissions("Page", page.PageId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Page, page.PageId).ToList(); page.Permissions = _permissions.EncodePermissions(page.PageId, permissions); } return page; @@ -68,7 +69,7 @@ namespace Oqtane.Repository } if (page != null) { - IEnumerable permissions = _permissions.GetPermissions("Page", page.PageId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Page, page.PageId).ToList(); page.Permissions = _permissions.EncodePermissions(page.PageId, 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 permissions = _permissions.GetPermissions("Page", page.PageId).ToList(); + IEnumerable permissions = _permissions.GetPermissions(EntityNames.Page, page.PageId).ToList(); page.Permissions = _permissions.EncodePermissions(page.PageId, 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 pageModules = _db.PageModule.Where(item => item.PageId == pageId).ToList(); foreach (var pageModule in pageModules) { diff --git a/Oqtane.Server/Startup.cs b/Oqtane.Server/Startup.cs index 79a2d31c..da9e633f 100644 --- a/Oqtane.Server/Startup.cs +++ b/Oqtane.Server/Startup.cs @@ -246,10 +246,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 diff --git a/Oqtane.Shared/Shared/EntityNames.cs b/Oqtane.Shared/Shared/EntityNames.cs index ffff34f0..569e0603 100644 --- a/Oqtane.Shared/Shared/EntityNames.cs +++ b/Oqtane.Shared/Shared/EntityNames.cs @@ -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";