Server naming fixes and cleanup
Server is now completely cleaned up and without warnings
This commit is contained in:
@ -1,9 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using System;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -27,30 +27,30 @@ namespace Oqtane.Repository
|
||||
});
|
||||
}
|
||||
|
||||
public Alias AddAlias(Alias Alias)
|
||||
public Alias AddAlias(Alias alias)
|
||||
{
|
||||
_db.Alias.Add(Alias);
|
||||
_db.Alias.Add(alias);
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("aliases");
|
||||
return Alias;
|
||||
return alias;
|
||||
}
|
||||
|
||||
public Alias UpdateAlias(Alias Alias)
|
||||
public Alias UpdateAlias(Alias alias)
|
||||
{
|
||||
_db.Entry(Alias).State = EntityState.Modified;
|
||||
_db.Entry(alias).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("aliases");
|
||||
return Alias;
|
||||
return alias;
|
||||
}
|
||||
|
||||
public Alias GetAlias(int AliasId)
|
||||
public Alias GetAlias(int aliasId)
|
||||
{
|
||||
return _db.Alias.Find(AliasId);
|
||||
return _db.Alias.Find(aliasId);
|
||||
}
|
||||
|
||||
public void DeleteAlias(int AliasId)
|
||||
public void DeleteAlias(int aliasId)
|
||||
{
|
||||
Alias alias = _db.Alias.Find(AliasId);
|
||||
Alias alias = _db.Alias.Find(aliasId);
|
||||
_db.Alias.Remove(alias);
|
||||
_cache.Remove("aliases");
|
||||
_db.SaveChanges();
|
||||
|
@ -1,10 +1,10 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -53,7 +53,7 @@ namespace Oqtane.Repository
|
||||
|
||||
foreach(var item in created)
|
||||
{
|
||||
if (item.Entity is IAuditable entity)
|
||||
if (item.Entity is IAuditable)
|
||||
{
|
||||
item.CurrentValues[nameof(IAuditable.CreatedBy)] = username;
|
||||
item.CurrentValues[nameof(IAuditable.CreatedOn)] = date;
|
||||
@ -65,13 +65,13 @@ namespace Oqtane.Repository
|
||||
|
||||
foreach (var item in modified)
|
||||
{
|
||||
if (item.Entity is IAuditable entity)
|
||||
if (item.Entity is IAuditable)
|
||||
{
|
||||
item.CurrentValues[nameof(IAuditable.ModifiedBy)] = username;
|
||||
item.CurrentValues[nameof(IAuditable.ModifiedOn)] = date;
|
||||
}
|
||||
|
||||
if (item.Entity is IDeletable deleted && item.State != EntityState.Added)
|
||||
if (item.Entity is IDeletable && item.State != EntityState.Added)
|
||||
{
|
||||
if ((bool)item.CurrentValues[nameof(IDeletable.IsDeleted)]
|
||||
&& !item.GetDatabaseValues().GetValue<bool>(nameof(IDeletable.IsDeleted)))
|
||||
|
@ -1,8 +1,8 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -37,7 +37,7 @@ namespace Oqtane.Repository
|
||||
|
||||
foreach (var item in created)
|
||||
{
|
||||
if (item.Entity is IAuditable entity)
|
||||
if (item.Entity is IAuditable)
|
||||
{
|
||||
item.CurrentValues[nameof(IAuditable.CreatedBy)] = username;
|
||||
item.CurrentValues[nameof(IAuditable.CreatedOn)] = date;
|
||||
@ -49,7 +49,7 @@ namespace Oqtane.Repository
|
||||
|
||||
foreach (var item in modified)
|
||||
{
|
||||
if (item.Entity is IAuditable entity)
|
||||
if (item.Entity is IAuditable)
|
||||
{
|
||||
item.CurrentValues[nameof(IAuditable.ModifiedBy)] = username;
|
||||
item.CurrentValues[nameof(IAuditable.ModifiedOn)] = date;
|
||||
|
@ -21,7 +21,7 @@ namespace Oqtane.Repository
|
||||
public virtual DbSet<Folder> Folder { get; set; }
|
||||
public virtual DbSet<File> File { get; set; }
|
||||
|
||||
public TenantDBContext(ITenantResolver TenantResolver, IHttpContextAccessor accessor) : base(TenantResolver, accessor)
|
||||
public TenantDBContext(ITenantResolver tenantResolver, IHttpContextAccessor accessor) : base(tenantResolver, accessor)
|
||||
{
|
||||
// DBContextBase handles multi-tenant database connections
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -16,34 +16,34 @@ namespace Oqtane.Repository
|
||||
_permissions = permissions;
|
||||
}
|
||||
|
||||
public IEnumerable<File> GetFiles(int FolderId)
|
||||
public IEnumerable<File> GetFiles(int folderId)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", FolderId).ToList();
|
||||
IEnumerable<File> files = _db.File.Where(item => item.FolderId == FolderId).Include(item => item.Folder);
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", folderId).ToList();
|
||||
IEnumerable<File> files = _db.File.Where(item => item.FolderId == folderId).Include(item => item.Folder);
|
||||
foreach (File file in files)
|
||||
{
|
||||
file.Folder.Permissions = _permissions.EncodePermissions(FolderId, permissions);
|
||||
file.Folder.Permissions = _permissions.EncodePermissions(folderId, permissions);
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
public File AddFile(File File)
|
||||
public File AddFile(File file)
|
||||
{
|
||||
_db.File.Add(File);
|
||||
_db.File.Add(file);
|
||||
_db.SaveChanges();
|
||||
return File;
|
||||
return file;
|
||||
}
|
||||
|
||||
public File UpdateFile(File File)
|
||||
public File UpdateFile(File file)
|
||||
{
|
||||
_db.Entry(File).State = EntityState.Modified;
|
||||
_db.Entry(file).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return File;
|
||||
return file;
|
||||
}
|
||||
|
||||
public File GetFile(int FileId)
|
||||
public File GetFile(int fileId)
|
||||
{
|
||||
File file = _db.File.Where(item => item.FileId == FileId).Include(item => item.Folder).FirstOrDefault();
|
||||
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();
|
||||
@ -52,10 +52,10 @@ namespace Oqtane.Repository
|
||||
return file;
|
||||
}
|
||||
|
||||
public void DeleteFile(int FileId)
|
||||
public void DeleteFile(int fileId)
|
||||
{
|
||||
File File = _db.File.Find(FileId);
|
||||
_db.File.Remove(File);
|
||||
File file = _db.File.Find(fileId);
|
||||
_db.File.Remove(file);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -16,10 +16,10 @@ namespace Oqtane.Repository
|
||||
_permissions = permissions;
|
||||
}
|
||||
|
||||
public IEnumerable<Folder> GetFolders(int SiteId)
|
||||
public IEnumerable<Folder> GetFolders(int siteId)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions(SiteId, "Folder").ToList();
|
||||
IEnumerable<Folder> folders = _db.Folder.Where(item => item.SiteId == SiteId);
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions(siteId, "Folder").ToList();
|
||||
IEnumerable<Folder> folders = _db.Folder.Where(item => item.SiteId == siteId);
|
||||
foreach(Folder folder in folders)
|
||||
{
|
||||
folder.Permissions = _permissions.EncodePermissions(folder.FolderId, permissions);
|
||||
@ -27,25 +27,25 @@ namespace Oqtane.Repository
|
||||
return folders;
|
||||
}
|
||||
|
||||
public Folder AddFolder(Folder Folder)
|
||||
public Folder AddFolder(Folder folder)
|
||||
{
|
||||
_db.Folder.Add(Folder);
|
||||
_db.Folder.Add(folder);
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(Folder.SiteId, "Folder", Folder.FolderId, Folder.Permissions);
|
||||
return Folder;
|
||||
_permissions.UpdatePermissions(folder.SiteId, "Folder", folder.FolderId, folder.Permissions);
|
||||
return folder;
|
||||
}
|
||||
|
||||
public Folder UpdateFolder(Folder Folder)
|
||||
public Folder UpdateFolder(Folder folder)
|
||||
{
|
||||
_db.Entry(Folder).State = EntityState.Modified;
|
||||
_db.Entry(folder).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(Folder.SiteId, "Folder", Folder.FolderId, Folder.Permissions);
|
||||
return Folder;
|
||||
_permissions.UpdatePermissions(folder.SiteId, "Folder", folder.FolderId, folder.Permissions);
|
||||
return folder;
|
||||
}
|
||||
|
||||
public Folder GetFolder(int FolderId)
|
||||
public Folder GetFolder(int folderId)
|
||||
{
|
||||
Folder folder = _db.Folder.Find(FolderId);
|
||||
Folder folder = _db.Folder.Find(folderId);
|
||||
if (folder != null)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions("Folder", folder.FolderId).ToList();
|
||||
@ -54,9 +54,9 @@ namespace Oqtane.Repository
|
||||
return folder;
|
||||
}
|
||||
|
||||
public Folder GetFolder(int SiteId, string Path)
|
||||
public Folder GetFolder(int siteId, string path)
|
||||
{
|
||||
Folder folder = _db.Folder.Where(item => item.SiteId == SiteId && item.Path == Path).FirstOrDefault();
|
||||
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();
|
||||
@ -65,11 +65,11 @@ namespace Oqtane.Repository
|
||||
return folder;
|
||||
}
|
||||
|
||||
public void DeleteFolder(int FolderId)
|
||||
public void DeleteFolder(int folderId)
|
||||
{
|
||||
Folder Folder = _db.Folder.Find(FolderId);
|
||||
_permissions.DeletePermissions(Folder.SiteId, "Folder", FolderId);
|
||||
_db.Folder.Remove(Folder);
|
||||
Folder folder = _db.Folder.Find(folderId);
|
||||
_permissions.DeletePermissions(folder.SiteId, "Folder", folderId);
|
||||
_db.Folder.Remove(folder);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,9 @@ namespace Oqtane.Repository
|
||||
public interface IAliasRepository
|
||||
{
|
||||
IEnumerable<Alias> GetAliases();
|
||||
Alias AddAlias(Alias Alias);
|
||||
Alias UpdateAlias(Alias Alias);
|
||||
Alias GetAlias(int AliasId);
|
||||
void DeleteAlias(int AliasId);
|
||||
Alias AddAlias(Alias alias);
|
||||
Alias UpdateAlias(Alias alias);
|
||||
Alias GetAlias(int aliasId);
|
||||
void DeleteAlias(int aliasId);
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IFileRepository
|
||||
{
|
||||
IEnumerable<File> GetFiles(int FolderId);
|
||||
File AddFile(File File);
|
||||
File UpdateFile(File File);
|
||||
File GetFile(int FileId);
|
||||
void DeleteFile(int FileId);
|
||||
IEnumerable<File> GetFiles(int folderId);
|
||||
File AddFile(File file);
|
||||
File UpdateFile(File file);
|
||||
File GetFile(int fileId);
|
||||
void DeleteFile(int fileId);
|
||||
}
|
||||
}
|
||||
|
@ -5,11 +5,11 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IFolderRepository
|
||||
{
|
||||
IEnumerable<Folder> GetFolders(int SiteId);
|
||||
Folder AddFolder(Folder Folder);
|
||||
Folder UpdateFolder(Folder Folder);
|
||||
Folder GetFolder(int FolderId);
|
||||
Folder GetFolder(int SiteId, string Path);
|
||||
void DeleteFolder(int FolderId);
|
||||
IEnumerable<Folder> GetFolders(int siteId);
|
||||
Folder AddFolder(Folder folder);
|
||||
Folder UpdateFolder(Folder folder);
|
||||
Folder GetFolder(int folderId);
|
||||
Folder GetFolder(int siteId, string path);
|
||||
void DeleteFolder(int folderId);
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,9 @@ namespace Oqtane.Repository
|
||||
public interface IJobLogRepository
|
||||
{
|
||||
IEnumerable<JobLog> GetJobLogs();
|
||||
JobLog AddJobLog(JobLog JobLog);
|
||||
JobLog UpdateJobLog(JobLog JobLog);
|
||||
JobLog GetJobLog(int JobLogId);
|
||||
void DeleteJobLog(int JobLogId);
|
||||
JobLog AddJobLog(JobLog jobLog);
|
||||
JobLog UpdateJobLog(JobLog jobLog);
|
||||
JobLog GetJobLog(int jobLogId);
|
||||
void DeleteJobLog(int jobLogId);
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,9 @@ namespace Oqtane.Repository
|
||||
public interface IJobRepository
|
||||
{
|
||||
IEnumerable<Job> GetJobs();
|
||||
Job AddJob(Job Job);
|
||||
Job UpdateJob(Job Job);
|
||||
Job GetJob(int JobId);
|
||||
void DeleteJob(int JobId);
|
||||
Job AddJob(Job job);
|
||||
Job UpdateJob(Job job);
|
||||
Job GetJob(int jobId);
|
||||
void DeleteJob(int jobId);
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
using Oqtane.Models;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public interface ILogRepository
|
||||
{
|
||||
IEnumerable<Log> GetLogs(int SiteId, string Level, string Function, int Rows);
|
||||
Log GetLog(int LogId);
|
||||
void AddLog(Log Log);
|
||||
IEnumerable<Log> GetLogs(int siteId, string level, string function, int rows);
|
||||
Log GetLog(int logId);
|
||||
void AddLog(Log log);
|
||||
}
|
||||
}
|
||||
|
@ -5,9 +5,9 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IModuleDefinitionRepository
|
||||
{
|
||||
IEnumerable<ModuleDefinition> GetModuleDefinitions(int SideId);
|
||||
ModuleDefinition GetModuleDefinition(int ModuleDefinitionId, int SideId);
|
||||
void UpdateModuleDefinition(ModuleDefinition ModuleDefinition);
|
||||
void DeleteModuleDefinition(int ModuleDefinitionId, int SiteId);
|
||||
IEnumerable<ModuleDefinition> GetModuleDefinitions(int sideId);
|
||||
ModuleDefinition GetModuleDefinition(int moduleDefinitionId, int sideId);
|
||||
void UpdateModuleDefinition(ModuleDefinition moduleDefinition);
|
||||
void DeleteModuleDefinition(int moduleDefinitionId, int siteId);
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,12 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IModuleRepository
|
||||
{
|
||||
IEnumerable<Module> GetModules(int SiteId);
|
||||
Module AddModule(Module Module);
|
||||
Module UpdateModule(Module Module);
|
||||
Module GetModule(int ModuleId);
|
||||
void DeleteModule(int ModuleId);
|
||||
string ExportModule(int ModuleId);
|
||||
bool ImportModule(int ModuleId, string Content);
|
||||
IEnumerable<Module> GetModules(int siteId);
|
||||
Module AddModule(Module module);
|
||||
Module UpdateModule(Module module);
|
||||
Module GetModule(int moduleId);
|
||||
void DeleteModule(int moduleId);
|
||||
string ExportModule(int moduleId);
|
||||
bool ImportModule(int moduleId, string content);
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface INotificationRepository
|
||||
{
|
||||
IEnumerable<Notification> GetNotifications(int SiteId, int FromUserId, int ToUserId);
|
||||
Notification AddNotification(Notification Notification);
|
||||
Notification UpdateNotification(Notification Notification);
|
||||
Notification GetNotification(int NotificationId);
|
||||
void DeleteNotification(int NotificationId);
|
||||
IEnumerable<Notification> GetNotifications(int siteId, int fromUserId, int toUserId);
|
||||
Notification AddNotification(Notification notification);
|
||||
Notification UpdateNotification(Notification notification);
|
||||
Notification GetNotification(int notificationId);
|
||||
void DeleteNotification(int notificationId);
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,12 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IPageModuleRepository
|
||||
{
|
||||
IEnumerable<PageModule> GetPageModules(int SiteId);
|
||||
IEnumerable<PageModule> GetPageModules(int PageId, string Pane);
|
||||
PageModule AddPageModule(PageModule PageModule);
|
||||
PageModule UpdatePageModule(PageModule PageModule);
|
||||
PageModule GetPageModule(int PageModuleId);
|
||||
PageModule GetPageModule(int PageId, int ModuleId);
|
||||
void DeletePageModule(int PageModuleId);
|
||||
IEnumerable<PageModule> GetPageModules(int siteId);
|
||||
IEnumerable<PageModule> GetPageModules(int pageId, string pane);
|
||||
PageModule AddPageModule(PageModule pageModule);
|
||||
PageModule UpdatePageModule(PageModule pageModule);
|
||||
PageModule GetPageModule(int pageModuleId);
|
||||
PageModule GetPageModule(int pageId, int moduleId);
|
||||
void DeletePageModule(int pageModuleId);
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,12 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IPageRepository
|
||||
{
|
||||
IEnumerable<Page> GetPages(int SiteId);
|
||||
Page AddPage(Page Page);
|
||||
Page UpdatePage(Page Page);
|
||||
Page GetPage(int PageId);
|
||||
Page GetPage(int PageId, int UserId);
|
||||
Page GetPage(string Path, int SiteId);
|
||||
void DeletePage(int PageId);
|
||||
IEnumerable<Page> GetPages(int siteId);
|
||||
Page AddPage(Page page);
|
||||
Page UpdatePage(Page page);
|
||||
Page GetPage(int pageId);
|
||||
Page GetPage(int pageId, int userId);
|
||||
Page GetPage(string path, int siteId);
|
||||
void DeletePage(int pageId);
|
||||
}
|
||||
}
|
||||
|
@ -5,16 +5,16 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IPermissionRepository
|
||||
{
|
||||
IEnumerable<Permission> GetPermissions(int SiteId, string EntityName);
|
||||
IEnumerable<Permission> GetPermissions(string EntityName, int EntityId);
|
||||
IEnumerable<Permission> GetPermissions(string EntityName, int EntityId, string PermissionName);
|
||||
Permission AddPermission(Permission Permission);
|
||||
Permission UpdatePermission(Permission Permission);
|
||||
void UpdatePermissions(int SiteId, string EntityName, int EntityId, string Permissions);
|
||||
Permission GetPermission(int PermissionId);
|
||||
void DeletePermission(int PermissionId);
|
||||
void DeletePermissions(int SiteId, string EntityName, int EntityId);
|
||||
string EncodePermissions(int EntityId, IEnumerable<Permission> Permissions);
|
||||
IEnumerable<Permission> DecodePermissions(string Permissions, int SiteId, string EntityName, int EntityId);
|
||||
IEnumerable<Permission> GetPermissions(int siteId, string entityName);
|
||||
IEnumerable<Permission> GetPermissions(string entityName, int entityId);
|
||||
IEnumerable<Permission> GetPermissions(string entityName, int entityId, string permissionName);
|
||||
Permission AddPermission(Permission permission);
|
||||
Permission UpdatePermission(Permission permission);
|
||||
void UpdatePermissions(int siteId, string entityName, int entityId, string permissionStrings);
|
||||
Permission GetPermission(int permissionId);
|
||||
void DeletePermission(int permissionId);
|
||||
void DeletePermissions(int siteId, string entityName, int entityId);
|
||||
string EncodePermissions(int entityId, IEnumerable<Permission> permissionList);
|
||||
IEnumerable<Permission> DecodePermissions(string permissions, int siteId, string entityName, int entityId);
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IProfileRepository
|
||||
{
|
||||
IEnumerable<Profile> GetProfiles(int SiteId);
|
||||
Profile AddProfile(Profile Profile);
|
||||
Profile UpdateProfile(Profile Profile);
|
||||
Profile GetProfile(int ProfileId);
|
||||
void DeleteProfile(int ProfileId);
|
||||
IEnumerable<Profile> GetProfiles(int siteId);
|
||||
Profile AddProfile(Profile profile);
|
||||
Profile UpdateProfile(Profile profile);
|
||||
Profile GetProfile(int profileId);
|
||||
void DeleteProfile(int profileId);
|
||||
}
|
||||
}
|
||||
|
@ -5,11 +5,11 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IRoleRepository
|
||||
{
|
||||
IEnumerable<Role> GetRoles(int SiteId);
|
||||
IEnumerable<Role> GetRoles(int SiteId, bool IncludeGlobalRoles);
|
||||
Role AddRole(Role Role);
|
||||
Role UpdateRole(Role Role);
|
||||
Role GetRole(int RoleId);
|
||||
void DeleteRole(int RoleId);
|
||||
IEnumerable<Role> GetRoles(int siteId);
|
||||
IEnumerable<Role> GetRoles(int siteId, bool includeGlobalRoles);
|
||||
Role AddRole(Role role);
|
||||
Role UpdateRole(Role role);
|
||||
Role GetRole(int roleId);
|
||||
void DeleteRole(int roleId);
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface ISettingRepository
|
||||
{
|
||||
IEnumerable<Setting> GetSettings(string EntityName, int EntityId);
|
||||
Setting AddSetting(Setting Setting);
|
||||
Setting UpdateSetting(Setting Setting);
|
||||
Setting GetSetting(int SettingId);
|
||||
void DeleteSetting(int SettingId);
|
||||
IEnumerable<Setting> GetSettings(string entityName, int entityId);
|
||||
Setting AddSetting(Setting setting);
|
||||
Setting UpdateSetting(Setting setting);
|
||||
Setting GetSetting(int settingId);
|
||||
void DeleteSetting(int settingId);
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,9 @@ namespace Oqtane.Repository
|
||||
public interface ISiteRepository
|
||||
{
|
||||
IEnumerable<Site> GetSites();
|
||||
Site AddSite(Site Site);
|
||||
Site UpdateSite(Site Site);
|
||||
Site GetSite(int SiteId);
|
||||
void DeleteSite(int SiteId);
|
||||
Site AddSite(Site site);
|
||||
Site UpdateSite(Site site);
|
||||
Site GetSite(int siteId);
|
||||
void DeleteSite(int siteId);
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
using Oqtane.Models;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public interface ITenantRepository
|
||||
{
|
||||
IEnumerable<Tenant> GetTenants();
|
||||
Tenant AddTenant(Tenant Tenant);
|
||||
Tenant UpdateTenant(Tenant Tenant);
|
||||
Tenant GetTenant(int TenantId);
|
||||
void DeleteTenant(int TenantId);
|
||||
Tenant AddTenant(Tenant tenant);
|
||||
Tenant UpdateTenant(Tenant tenant);
|
||||
Tenant GetTenant(int tenantId);
|
||||
void DeleteTenant(int tenantId);
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,10 @@ namespace Oqtane.Repository
|
||||
public interface IUserRepository
|
||||
{
|
||||
IEnumerable<User> GetUsers();
|
||||
User AddUser(User User);
|
||||
User UpdateUser(User User);
|
||||
User GetUser(int UserId);
|
||||
User GetUser(string Username);
|
||||
void DeleteUser(int UserId);
|
||||
User AddUser(User user);
|
||||
User UpdateUser(User user);
|
||||
User GetUser(int userId);
|
||||
User GetUser(string username);
|
||||
void DeleteUser(int userId);
|
||||
}
|
||||
}
|
||||
|
@ -5,11 +5,11 @@ namespace Oqtane.Repository
|
||||
{
|
||||
public interface IUserRoleRepository
|
||||
{
|
||||
IEnumerable<UserRole> GetUserRoles(int SiteId);
|
||||
IEnumerable<UserRole> GetUserRoles(int UserId, int SiteId);
|
||||
UserRole AddUserRole(UserRole UserRole);
|
||||
UserRole UpdateUserRole(UserRole UserRole);
|
||||
UserRole GetUserRole(int UserRoleId);
|
||||
void DeleteUserRole(int UserRoleId);
|
||||
IEnumerable<UserRole> GetUserRoles(int siteId);
|
||||
IEnumerable<UserRole> GetUserRoles(int userId, int siteId);
|
||||
UserRole AddUserRole(UserRole userRole);
|
||||
UserRole UpdateUserRole(UserRole userRole);
|
||||
UserRole GetUserRole(int userRoleId);
|
||||
void DeleteUserRole(int userRoleId);
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -21,30 +21,30 @@ namespace Oqtane.Repository
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public JobLog AddJobLog(JobLog JobLog)
|
||||
public JobLog AddJobLog(JobLog jobLog)
|
||||
{
|
||||
_db.JobLog.Add(JobLog);
|
||||
_db.JobLog.Add(jobLog);
|
||||
_db.SaveChanges();
|
||||
return JobLog;
|
||||
return jobLog;
|
||||
}
|
||||
|
||||
public JobLog UpdateJobLog(JobLog JobLog)
|
||||
public JobLog UpdateJobLog(JobLog jobLog)
|
||||
{
|
||||
_db.Entry(JobLog).State = EntityState.Modified;
|
||||
_db.Entry(jobLog).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return JobLog;
|
||||
return jobLog;
|
||||
}
|
||||
|
||||
public JobLog GetJobLog(int JobLogId)
|
||||
public JobLog GetJobLog(int jobLogId)
|
||||
{
|
||||
return _db.JobLog.Include(item => item.Job) // eager load job
|
||||
.SingleOrDefault(item => item.JobLogId == JobLogId);
|
||||
.SingleOrDefault(item => item.JobLogId == jobLogId);
|
||||
}
|
||||
|
||||
public void DeleteJobLog(int JobLogId)
|
||||
public void DeleteJobLog(int jobLogId)
|
||||
{
|
||||
JobLog Joblog = _db.JobLog.Find(JobLogId);
|
||||
_db.JobLog.Remove(Joblog);
|
||||
JobLog joblog = _db.JobLog.Find(jobLogId);
|
||||
_db.JobLog.Remove(joblog);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -27,29 +27,29 @@ namespace Oqtane.Repository
|
||||
});
|
||||
}
|
||||
|
||||
public Job AddJob(Job Job)
|
||||
public Job AddJob(Job job)
|
||||
{
|
||||
_db.Job.Add(Job);
|
||||
_db.Job.Add(job);
|
||||
_db.SaveChanges();
|
||||
return Job;
|
||||
return job;
|
||||
}
|
||||
|
||||
public Job UpdateJob(Job Job)
|
||||
public Job UpdateJob(Job job)
|
||||
{
|
||||
_db.Entry(Job).State = EntityState.Modified;
|
||||
_db.Entry(job).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Job;
|
||||
return job;
|
||||
}
|
||||
|
||||
public Job GetJob(int JobId)
|
||||
public Job GetJob(int jobId)
|
||||
{
|
||||
return _db.Job.Find(JobId);
|
||||
return _db.Job.Find(jobId);
|
||||
}
|
||||
|
||||
public void DeleteJob(int JobId)
|
||||
public void DeleteJob(int jobId)
|
||||
{
|
||||
Job Job = _db.Job.Find(JobId);
|
||||
_db.Job.Remove(Job);
|
||||
Job job = _db.Job.Find(jobId);
|
||||
_db.Job.Remove(job);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
|
||||
@ -14,44 +13,38 @@ namespace Oqtane.Repository
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<Log> GetLogs(int SiteId, string Level, string Function, int Rows)
|
||||
public IEnumerable<Log> GetLogs(int siteId, string level, string function, int rows)
|
||||
{
|
||||
if (Level == null)
|
||||
if (level == null)
|
||||
{
|
||||
if (Function == null)
|
||||
if (function == null)
|
||||
{
|
||||
return _db.Log.Where(item => item.SiteId == SiteId).
|
||||
OrderByDescending(item => item.LogDate).Take(Rows);
|
||||
}
|
||||
else
|
||||
{
|
||||
return _db.Log.Where(item => item.SiteId == SiteId && item.Function == Function).
|
||||
OrderByDescending(item => item.LogDate).Take(Rows);
|
||||
return _db.Log.Where(item => item.SiteId == siteId).
|
||||
OrderByDescending(item => item.LogDate).Take(rows);
|
||||
}
|
||||
|
||||
return _db.Log.Where(item => item.SiteId == siteId && item.Function == function).
|
||||
OrderByDescending(item => item.LogDate).Take(rows);
|
||||
}
|
||||
else
|
||||
|
||||
if (function == null)
|
||||
{
|
||||
if (Function == null)
|
||||
{
|
||||
return _db.Log.Where(item => item.SiteId == SiteId && item.Level == Level)
|
||||
.OrderByDescending(item => item.LogDate).Take(Rows);
|
||||
}
|
||||
else
|
||||
{
|
||||
return _db.Log.Where(item => item.SiteId == SiteId && item.Level == Level && item.Function == Function)
|
||||
.OrderByDescending(item => item.LogDate).Take(Rows);
|
||||
}
|
||||
return _db.Log.Where(item => item.SiteId == siteId && item.Level == level)
|
||||
.OrderByDescending(item => item.LogDate).Take(rows);
|
||||
}
|
||||
|
||||
return _db.Log.Where(item => item.SiteId == siteId && item.Level == level && item.Function == function)
|
||||
.OrderByDescending(item => item.LogDate).Take(rows);
|
||||
}
|
||||
|
||||
public Log GetLog(int LogId)
|
||||
public Log GetLog(int logId)
|
||||
{
|
||||
return _db.Log.Find(LogId);
|
||||
return _db.Log.Find(logId);
|
||||
}
|
||||
|
||||
public void AddLog(Log Log)
|
||||
public void AddLog(Log log)
|
||||
{
|
||||
_db.Log.Add(Log);
|
||||
_db.Log.Add(log);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using Oqtane.Modules;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Modules;
|
||||
using Oqtane.Shared;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -23,51 +22,51 @@ namespace Oqtane.Repository
|
||||
_permissions = permissions;
|
||||
}
|
||||
|
||||
public IEnumerable<ModuleDefinition> GetModuleDefinitions(int SiteId)
|
||||
public IEnumerable<ModuleDefinition> GetModuleDefinitions(int siteId)
|
||||
{
|
||||
return LoadModuleDefinitions(SiteId);
|
||||
return LoadModuleDefinitions(siteId);
|
||||
}
|
||||
|
||||
public ModuleDefinition GetModuleDefinition(int ModuleDefinitionId, int SiteId)
|
||||
public ModuleDefinition GetModuleDefinition(int moduleDefinitionId, int siteId)
|
||||
{
|
||||
List<ModuleDefinition> moduledefinitions = LoadModuleDefinitions(SiteId);
|
||||
return moduledefinitions.Find(item => item.ModuleDefinitionId == ModuleDefinitionId);
|
||||
List<ModuleDefinition> moduledefinitions = LoadModuleDefinitions(siteId);
|
||||
return moduledefinitions.Find(item => item.ModuleDefinitionId == moduleDefinitionId);
|
||||
}
|
||||
|
||||
public void UpdateModuleDefinition(ModuleDefinition ModuleDefinition)
|
||||
public void UpdateModuleDefinition(ModuleDefinition moduleDefinition)
|
||||
{
|
||||
_permissions.UpdatePermissions(ModuleDefinition.SiteId, "ModuleDefinition", ModuleDefinition.ModuleDefinitionId, ModuleDefinition.Permissions);
|
||||
_permissions.UpdatePermissions(moduleDefinition.SiteId, "ModuleDefinition", moduleDefinition.ModuleDefinitionId, moduleDefinition.Permissions);
|
||||
_cache.Remove("moduledefinitions");
|
||||
}
|
||||
|
||||
public void DeleteModuleDefinition(int ModuleDefinitionId, int SiteId)
|
||||
public void DeleteModuleDefinition(int moduleDefinitionId, int siteId)
|
||||
{
|
||||
ModuleDefinition ModuleDefinition = _db.ModuleDefinition.Find(ModuleDefinitionId);
|
||||
_permissions.DeletePermissions(SiteId, "ModuleDefinition", ModuleDefinitionId);
|
||||
_db.ModuleDefinition.Remove(ModuleDefinition);
|
||||
ModuleDefinition moduleDefinition = _db.ModuleDefinition.Find(moduleDefinitionId);
|
||||
_permissions.DeletePermissions(siteId, "ModuleDefinition", moduleDefinitionId);
|
||||
_db.ModuleDefinition.Remove(moduleDefinition);
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("moduledefinitions");
|
||||
}
|
||||
|
||||
public List<ModuleDefinition> LoadModuleDefinitions(int SiteId)
|
||||
public List<ModuleDefinition> LoadModuleDefinitions(int siteId)
|
||||
{
|
||||
List<ModuleDefinition> ModuleDefinitions;
|
||||
List<ModuleDefinition> moduleDefinitions;
|
||||
|
||||
// get run-time module definitions
|
||||
ModuleDefinitions = _cache.GetOrCreate("moduledefinitions", entry =>
|
||||
moduleDefinitions = _cache.GetOrCreate("moduledefinitions", entry =>
|
||||
{
|
||||
entry.SlidingExpiration = TimeSpan.FromMinutes(30);
|
||||
return LoadModuleDefinitionsFromAssemblies();
|
||||
});
|
||||
|
||||
// get module defintion permissions for site
|
||||
List<Permission> permissions = _permissions.GetPermissions(SiteId, "ModuleDefinition").ToList();
|
||||
List<Permission> permissions = _permissions.GetPermissions(siteId, "ModuleDefinition").ToList();
|
||||
|
||||
// get module definitions in database
|
||||
List<ModuleDefinition> moduledefs = _db.ModuleDefinition.ToList();
|
||||
|
||||
// sync run-time module definitions with database
|
||||
foreach (ModuleDefinition moduledefinition in ModuleDefinitions)
|
||||
foreach (ModuleDefinition moduledefinition in moduleDefinitions)
|
||||
{
|
||||
ModuleDefinition moduledef = moduledefs.Where(item => item.ModuleDefinitionName == moduledefinition.ModuleDefinitionName).FirstOrDefault();
|
||||
if (moduledef == null)
|
||||
@ -76,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, "ModuleDefinition", moduledef.ModuleDefinitionId, moduledefinition.Permissions);
|
||||
}
|
||||
else
|
||||
{
|
||||
// existing module definition
|
||||
if (permissions.Count == 0)
|
||||
{
|
||||
_permissions.UpdatePermissions(SiteId, "ModuleDefinition", moduledef.ModuleDefinitionId, moduledefinition.Permissions);
|
||||
_permissions.UpdatePermissions(siteId, "ModuleDefinition", moduledef.ModuleDefinitionId, moduledefinition.Permissions);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -93,7 +92,7 @@ namespace Oqtane.Repository
|
||||
moduledefs.Remove(moduledef);
|
||||
}
|
||||
moduledefinition.ModuleDefinitionId = moduledef.ModuleDefinitionId;
|
||||
moduledefinition.SiteId = SiteId;
|
||||
moduledefinition.SiteId = siteId;
|
||||
moduledefinition.CreatedBy = moduledef.CreatedBy;
|
||||
moduledefinition.CreatedOn = moduledef.CreatedOn;
|
||||
moduledefinition.ModifiedBy = moduledef.ModifiedBy;
|
||||
@ -103,24 +102,24 @@ namespace Oqtane.Repository
|
||||
// any remaining module definitions are orphans
|
||||
foreach (ModuleDefinition moduledefinition in moduledefs)
|
||||
{
|
||||
_permissions.DeletePermissions(SiteId, "ModuleDefinition", moduledefinition.ModuleDefinitionId);
|
||||
_permissions.DeletePermissions(siteId, "ModuleDefinition", moduledefinition.ModuleDefinitionId);
|
||||
_db.ModuleDefinition.Remove(moduledefinition); // delete
|
||||
}
|
||||
|
||||
return ModuleDefinitions;
|
||||
return moduleDefinitions;
|
||||
}
|
||||
|
||||
private List<ModuleDefinition> LoadModuleDefinitionsFromAssemblies()
|
||||
{
|
||||
List<ModuleDefinition> ModuleDefinitions = new List<ModuleDefinition>();
|
||||
List<ModuleDefinition> moduleDefinitions = new List<ModuleDefinition>();
|
||||
// iterate through Oqtane module assemblies
|
||||
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies()
|
||||
.Where(item => item.FullName.StartsWith("Oqtane.") || item.FullName.Contains(".Module.")).ToArray();
|
||||
foreach (Assembly assembly in assemblies)
|
||||
{
|
||||
ModuleDefinitions = LoadModuleDefinitionsFromAssembly(ModuleDefinitions, assembly);
|
||||
moduleDefinitions = LoadModuleDefinitionsFromAssembly(moduleDefinitions, assembly);
|
||||
}
|
||||
return ModuleDefinitions;
|
||||
return moduleDefinitions;
|
||||
}
|
||||
|
||||
private List<ModuleDefinition> LoadModuleDefinitionsFromAssembly(List<ModuleDefinition> moduledefinitions, Assembly assembly)
|
||||
@ -134,25 +133,25 @@ namespace Oqtane.Repository
|
||||
string[] typename = modulecontroltype.AssemblyQualifiedName.Split(',').Select(item => item.Trim()).ToList().ToArray();
|
||||
string[] segments = typename[0].Split('.');
|
||||
Array.Resize(ref segments, segments.Length - 1);
|
||||
string ModuleType = string.Join(".", segments);
|
||||
string QualifiedModuleType = ModuleType + ", " + typename[1];
|
||||
string moduleType = string.Join(".", segments);
|
||||
string qualifiedModuleType = moduleType + ", " + typename[1];
|
||||
|
||||
int index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == QualifiedModuleType);
|
||||
int index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == qualifiedModuleType);
|
||||
if (index == -1)
|
||||
{
|
||||
/// determine if this module implements IModule
|
||||
Type moduletype = assembly.GetTypes()
|
||||
.Where(item => item.Namespace != null)
|
||||
.Where(item => item.Namespace.StartsWith(ModuleType))
|
||||
.Where(item => item.GetInterfaces().Contains(typeof(IModule)))
|
||||
.FirstOrDefault();
|
||||
// determine if this module implements IModule
|
||||
Type moduletype = assembly
|
||||
.GetTypes()
|
||||
.Where(item => item.Namespace != null)
|
||||
.Where(item => item.Namespace.StartsWith(moduleType))
|
||||
.FirstOrDefault(item => item.GetInterfaces().Contains(typeof(IModule)));
|
||||
if (moduletype != null)
|
||||
{
|
||||
var moduleobject = Activator.CreateInstance(moduletype);
|
||||
Dictionary<string, string> properties = (Dictionary<string, string>)moduletype.GetProperty("Properties").GetValue(moduleobject);
|
||||
moduledefinition = new ModuleDefinition
|
||||
{
|
||||
ModuleDefinitionName = QualifiedModuleType,
|
||||
ModuleDefinitionName = qualifiedModuleType,
|
||||
Name = GetProperty(properties, "Name"),
|
||||
Description = GetProperty(properties, "Description"),
|
||||
Categories = GetProperty(properties, "Categories"),
|
||||
@ -164,7 +163,7 @@ namespace Oqtane.Repository
|
||||
Dependencies = GetProperty(properties, "Dependencies"),
|
||||
PermissionNames = GetProperty(properties, "PermissionNames"),
|
||||
ServerAssemblyName = GetProperty(properties, "ServerAssemblyName"),
|
||||
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
|
||||
ControlTypeTemplate = moduleType + "." + Constants.ActionToken + ", " + typename[1],
|
||||
ControlTypeRoutes = "",
|
||||
AssemblyName = assembly.FullName.Split(",")[0],
|
||||
Permissions = ""
|
||||
@ -174,10 +173,10 @@ namespace Oqtane.Repository
|
||||
{
|
||||
moduledefinition = new ModuleDefinition
|
||||
{
|
||||
ModuleDefinitionName = QualifiedModuleType,
|
||||
Name = ModuleType.Substring(ModuleType.LastIndexOf(".") + 1),
|
||||
Description = ModuleType.Substring(ModuleType.LastIndexOf(".") + 1),
|
||||
Categories = ((QualifiedModuleType.StartsWith("Oqtane.Modules.Admin.")) ? "Admin" : ""),
|
||||
ModuleDefinitionName = qualifiedModuleType,
|
||||
Name = moduleType.Substring(moduleType.LastIndexOf(".") + 1),
|
||||
Description = moduleType.Substring(moduleType.LastIndexOf(".") + 1),
|
||||
Categories = ((qualifiedModuleType.StartsWith("Oqtane.Modules.Admin.")) ? "Admin" : ""),
|
||||
Version = new Version(1, 0, 0).ToString(),
|
||||
Owner = "",
|
||||
Url = "",
|
||||
@ -186,7 +185,7 @@ namespace Oqtane.Repository
|
||||
Dependencies = "",
|
||||
PermissionNames = "",
|
||||
ServerAssemblyName = "",
|
||||
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
|
||||
ControlTypeTemplate = moduleType + "." + Constants.ActionToken + ", " + typename[1],
|
||||
ControlTypeRoutes = "",
|
||||
AssemblyName = assembly.FullName.Split(",")[0],
|
||||
Permissions = ""
|
||||
@ -202,7 +201,7 @@ namespace Oqtane.Repository
|
||||
moduledefinition.Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"" + Constants.AdminRole + ";" + Constants.RegisteredRole + "\"}]";
|
||||
}
|
||||
moduledefinitions.Add(moduledefinition);
|
||||
index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == QualifiedModuleType);
|
||||
index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == qualifiedModuleType);
|
||||
}
|
||||
moduledefinition = moduledefinitions[index];
|
||||
// actions
|
||||
@ -222,14 +221,14 @@ namespace Oqtane.Repository
|
||||
return moduledefinitions;
|
||||
}
|
||||
|
||||
private string GetProperty(Dictionary<string, string> Properties, string Key)
|
||||
private string GetProperty(Dictionary<string, string> properties, string key)
|
||||
{
|
||||
string Value = "";
|
||||
if (Properties.ContainsKey(Key))
|
||||
string value = "";
|
||||
if (properties.ContainsKey(key))
|
||||
{
|
||||
Value = Properties[Key];
|
||||
value = properties[key];
|
||||
}
|
||||
return Value;
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,13 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using Oqtane.Modules;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Text.Json;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Modules;
|
||||
using Module = Oqtane.Models.Module;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -25,30 +26,30 @@ namespace Oqtane.Repository
|
||||
_serviceProvider = serviceProvider;
|
||||
}
|
||||
|
||||
public IEnumerable<Models.Module> GetModules(int SiteId)
|
||||
public IEnumerable<Module> GetModules(int siteId)
|
||||
{
|
||||
return _db.Module.Where(item => item.SiteId == SiteId).ToList();
|
||||
return _db.Module.Where(item => item.SiteId == siteId).ToList();
|
||||
}
|
||||
|
||||
public Models.Module AddModule(Models.Module Module)
|
||||
public Module AddModule(Module module)
|
||||
{
|
||||
_db.Module.Add(Module);
|
||||
_db.Module.Add(module);
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(Module.SiteId, "Module", Module.ModuleId, Module.Permissions);
|
||||
return Module;
|
||||
_permissions.UpdatePermissions(module.SiteId, "Module", module.ModuleId, module.Permissions);
|
||||
return module;
|
||||
}
|
||||
|
||||
public Models.Module UpdateModule(Models.Module Module)
|
||||
public Module UpdateModule(Module module)
|
||||
{
|
||||
_db.Entry(Module).State = EntityState.Modified;
|
||||
_db.Entry(module).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(Module.SiteId, "Module", Module.ModuleId, Module.Permissions);
|
||||
return Module;
|
||||
_permissions.UpdatePermissions(module.SiteId, "Module", module.ModuleId, module.Permissions);
|
||||
return module;
|
||||
}
|
||||
|
||||
public Models.Module GetModule(int ModuleId)
|
||||
public Module GetModule(int moduleId)
|
||||
{
|
||||
Models.Module module = _db.Module.Find(ModuleId);
|
||||
Module module = _db.Module.Find(moduleId);
|
||||
if (module != null)
|
||||
{
|
||||
List<Permission> permissions = _permissions.GetPermissions("Module", module.ModuleId).ToList();
|
||||
@ -57,20 +58,20 @@ namespace Oqtane.Repository
|
||||
return module;
|
||||
}
|
||||
|
||||
public void DeleteModule(int ModuleId)
|
||||
public void DeleteModule(int moduleId)
|
||||
{
|
||||
Models.Module Module = _db.Module.Find(ModuleId);
|
||||
_permissions.DeletePermissions(Module.SiteId, "Module", ModuleId);
|
||||
_db.Module.Remove(Module);
|
||||
Module module = _db.Module.Find(moduleId);
|
||||
_permissions.DeletePermissions(module.SiteId, "Module", moduleId);
|
||||
_db.Module.Remove(module);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
||||
public string ExportModule(int ModuleId)
|
||||
public string ExportModule(int moduleId)
|
||||
{
|
||||
string content = "";
|
||||
try
|
||||
{
|
||||
Models.Module module = GetModule(ModuleId);
|
||||
Module module = GetModule(moduleId);
|
||||
if (module != null)
|
||||
{
|
||||
List<ModuleDefinition> moduledefinitions = _moduleDefinitions.GetModuleDefinitions(module.SiteId).ToList();
|
||||
@ -110,19 +111,19 @@ namespace Oqtane.Repository
|
||||
return content;
|
||||
}
|
||||
|
||||
public bool ImportModule(int ModuleId, string Content)
|
||||
public bool ImportModule(int moduleId, string content)
|
||||
{
|
||||
bool success = false;
|
||||
try
|
||||
{
|
||||
Models.Module module = GetModule(ModuleId);
|
||||
Module module = GetModule(moduleId);
|
||||
if (module != null)
|
||||
{
|
||||
List<ModuleDefinition> moduledefinitions = _moduleDefinitions.GetModuleDefinitions(module.SiteId).ToList();
|
||||
ModuleDefinition moduledefinition = moduledefinitions.Where(item => item.ModuleDefinitionName == module.ModuleDefinitionName).FirstOrDefault();
|
||||
if (moduledefinition != null)
|
||||
{
|
||||
ModuleContent modulecontent = JsonSerializer.Deserialize<ModuleContent>(Content);
|
||||
ModuleContent modulecontent = JsonSerializer.Deserialize<ModuleContent>(content);
|
||||
if (modulecontent.ModuleDefinitionName == moduledefinition.ModuleDefinitionName)
|
||||
{
|
||||
if (moduledefinition.ServerAssemblyName != "")
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,52 +14,50 @@ namespace Oqtane.Repository
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<Notification> GetNotifications(int SiteId, int FromUserId, int ToUserId)
|
||||
public IEnumerable<Notification> GetNotifications(int siteId, int fromUserId, int toUserId)
|
||||
{
|
||||
if (ToUserId == -1 && FromUserId == -1)
|
||||
if (toUserId == -1 && fromUserId == -1)
|
||||
{
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == SiteId)
|
||||
.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.IsDelivered == false)
|
||||
.Include(item => item.FromUser)
|
||||
.Include(item => item.ToUser)
|
||||
.ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == SiteId)
|
||||
.Where(item => item.ToUserId == ToUserId || ToUserId == -1)
|
||||
.Where(item => item.FromUserId == FromUserId || FromUserId == -1)
|
||||
.Include(item => item.FromUser)
|
||||
.Include(item => item.ToUser)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
return _db.Notification
|
||||
.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.ToUserId == toUserId || toUserId == -1)
|
||||
.Where(item => item.FromUserId == fromUserId || fromUserId == -1)
|
||||
.Include(item => item.FromUser)
|
||||
.Include(item => item.ToUser)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public Notification AddNotification(Notification Notification)
|
||||
public Notification AddNotification(Notification notification)
|
||||
{
|
||||
_db.Notification.Add(Notification);
|
||||
_db.Notification.Add(notification);
|
||||
_db.SaveChanges();
|
||||
return Notification;
|
||||
return notification;
|
||||
}
|
||||
|
||||
public Notification UpdateNotification(Notification Notification)
|
||||
public Notification UpdateNotification(Notification notification)
|
||||
{
|
||||
_db.Entry(Notification).State = EntityState.Modified;
|
||||
_db.Entry(notification).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Notification;
|
||||
return notification;
|
||||
}
|
||||
|
||||
public Notification GetNotification(int NotificationId)
|
||||
public Notification GetNotification(int notificationId)
|
||||
{
|
||||
return _db.Notification.Find(NotificationId);
|
||||
return _db.Notification.Find(notificationId);
|
||||
}
|
||||
|
||||
public void DeleteNotification(int NotificationId)
|
||||
public void DeleteNotification(int notificationId)
|
||||
{
|
||||
Notification Notification = _db.Notification.Find(NotificationId);
|
||||
_db.Notification.Remove(Notification);
|
||||
Notification notification = _db.Notification.Find(notificationId);
|
||||
_db.Notification.Remove(notification);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -16,11 +16,11 @@ namespace Oqtane.Repository
|
||||
_permissions = permissions;
|
||||
}
|
||||
|
||||
public IEnumerable<PageModule> GetPageModules(int SiteId)
|
||||
public IEnumerable<PageModule> GetPageModules(int siteId)
|
||||
{
|
||||
IEnumerable<PageModule> pagemodules = _db.PageModule
|
||||
.Include(item => item.Module) // eager load modules
|
||||
.Where(item => item.Module.SiteId == SiteId);
|
||||
.Where(item => item.Module.SiteId == siteId);
|
||||
if (pagemodules != null && pagemodules.Any())
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions(pagemodules.FirstOrDefault().Module.SiteId, "Module").ToList();
|
||||
@ -32,14 +32,14 @@ namespace Oqtane.Repository
|
||||
return pagemodules;
|
||||
}
|
||||
|
||||
public IEnumerable<PageModule> GetPageModules(int PageId, string Pane)
|
||||
public IEnumerable<PageModule> GetPageModules(int pageId, string pane)
|
||||
{
|
||||
IEnumerable<PageModule> pagemodules = _db.PageModule
|
||||
.Include(item => item.Module) // eager load modules
|
||||
.Where(item => item.PageId == PageId);
|
||||
if (Pane != "" && pagemodules != null && pagemodules.Any())
|
||||
.Where(item => item.PageId == pageId);
|
||||
if (pane != "" && pagemodules != null && pagemodules.Any())
|
||||
{
|
||||
pagemodules = pagemodules.Where(item => item.Pane == Pane);
|
||||
pagemodules = pagemodules.Where(item => item.Pane == pane);
|
||||
}
|
||||
if (pagemodules != null && pagemodules.Any())
|
||||
{
|
||||
@ -52,24 +52,24 @@ namespace Oqtane.Repository
|
||||
return pagemodules;
|
||||
}
|
||||
|
||||
public PageModule AddPageModule(PageModule PageModule)
|
||||
public PageModule AddPageModule(PageModule pageModule)
|
||||
{
|
||||
_db.PageModule.Add(PageModule);
|
||||
_db.PageModule.Add(pageModule);
|
||||
_db.SaveChanges();
|
||||
return PageModule;
|
||||
return pageModule;
|
||||
}
|
||||
|
||||
public PageModule UpdatePageModule(PageModule PageModule)
|
||||
public PageModule UpdatePageModule(PageModule pageModule)
|
||||
{
|
||||
_db.Entry(PageModule).State = EntityState.Modified;
|
||||
_db.Entry(pageModule).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return PageModule;
|
||||
return pageModule;
|
||||
}
|
||||
|
||||
public PageModule GetPageModule(int PageModuleId)
|
||||
public PageModule GetPageModule(int pageModuleId)
|
||||
{
|
||||
PageModule pagemodule = _db.PageModule.Include(item => item.Module) // eager load modules
|
||||
.SingleOrDefault(item => item.PageModuleId == PageModuleId);
|
||||
.SingleOrDefault(item => item.PageModuleId == pageModuleId);
|
||||
if (pagemodule != null)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions("Module", pagemodule.ModuleId).ToList();
|
||||
@ -78,10 +78,10 @@ namespace Oqtane.Repository
|
||||
return pagemodule;
|
||||
}
|
||||
|
||||
public PageModule GetPageModule(int PageId, int ModuleId)
|
||||
public PageModule GetPageModule(int pageId, int moduleId)
|
||||
{
|
||||
PageModule pagemodule = _db.PageModule.Include(item => item.Module) // eager load modules
|
||||
.SingleOrDefault(item => item.PageId == PageId && item.ModuleId == ModuleId);
|
||||
.SingleOrDefault(item => item.PageId == pageId && item.ModuleId == moduleId);
|
||||
if (pagemodule != null)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions("Module", pagemodule.ModuleId).ToList();
|
||||
@ -90,10 +90,10 @@ namespace Oqtane.Repository
|
||||
return pagemodule;
|
||||
}
|
||||
|
||||
public void DeletePageModule(int PageModuleId)
|
||||
public void DeletePageModule(int pageModuleId)
|
||||
{
|
||||
PageModule PageModule = _db.PageModule.Find(PageModuleId);
|
||||
_db.PageModule.Remove(PageModule);
|
||||
PageModule pageModule = _db.PageModule.Find(pageModuleId);
|
||||
_db.PageModule.Remove(pageModule);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -18,10 +18,10 @@ namespace Oqtane.Repository
|
||||
_pageModules = pageModules;
|
||||
}
|
||||
|
||||
public IEnumerable<Page> GetPages(int SiteId)
|
||||
public IEnumerable<Page> GetPages(int siteId)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions(SiteId, "Page").ToList();
|
||||
IEnumerable<Page> pages = _db.Page.Where(item => item.SiteId == SiteId && item.UserId == null);
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions(siteId, "Page").ToList();
|
||||
IEnumerable<Page> pages = _db.Page.Where(item => item.SiteId == siteId && item.UserId == null);
|
||||
foreach(Page page in pages)
|
||||
{
|
||||
page.Permissions = _permissions.EncodePermissions(page.PageId, permissions);
|
||||
@ -29,25 +29,25 @@ namespace Oqtane.Repository
|
||||
return pages;
|
||||
}
|
||||
|
||||
public Page AddPage(Page Page)
|
||||
public Page AddPage(Page page)
|
||||
{
|
||||
_db.Page.Add(Page);
|
||||
_db.Page.Add(page);
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(Page.SiteId, "Page", Page.PageId, Page.Permissions);
|
||||
return Page;
|
||||
_permissions.UpdatePermissions(page.SiteId, "Page", page.PageId, page.Permissions);
|
||||
return page;
|
||||
}
|
||||
|
||||
public Page UpdatePage(Page Page)
|
||||
public Page UpdatePage(Page page)
|
||||
{
|
||||
_db.Entry(Page).State = EntityState.Modified;
|
||||
_db.Entry(page).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_permissions.UpdatePermissions(Page.SiteId, "Page", Page.PageId, Page.Permissions);
|
||||
return Page;
|
||||
_permissions.UpdatePermissions(page.SiteId, "Page", page.PageId, page.Permissions);
|
||||
return page;
|
||||
}
|
||||
|
||||
public Page GetPage(int PageId)
|
||||
public Page GetPage(int pageId)
|
||||
{
|
||||
Page page = _db.Page.Find(PageId);
|
||||
Page page = _db.Page.Find(pageId);
|
||||
if (page != null)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _permissions.GetPermissions("Page", page.PageId).ToList();
|
||||
@ -56,12 +56,12 @@ namespace Oqtane.Repository
|
||||
return page;
|
||||
}
|
||||
|
||||
public Page GetPage(int PageId, int UserId)
|
||||
public Page GetPage(int pageId, int userId)
|
||||
{
|
||||
Page page = _db.Page.Find(PageId);
|
||||
Page page = _db.Page.Find(pageId);
|
||||
if (page != null)
|
||||
{
|
||||
Page personalized = _db.Page.Where(item => item.SiteId == page.SiteId && item.Path == page.Path && item.UserId == UserId).FirstOrDefault();
|
||||
Page personalized = _db.Page.Where(item => item.SiteId == page.SiteId && item.Path == page.Path && item.UserId == userId).FirstOrDefault();
|
||||
if (personalized != null)
|
||||
{
|
||||
page = personalized;
|
||||
@ -75,9 +75,9 @@ namespace Oqtane.Repository
|
||||
return page;
|
||||
}
|
||||
|
||||
public Page GetPage(string Path, int SiteId)
|
||||
public Page GetPage(string path, int siteId)
|
||||
{
|
||||
Page page = _db.Page.Where(item => item.Path == Path && item.SiteId == SiteId).FirstOrDefault();
|
||||
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();
|
||||
@ -86,16 +86,16 @@ namespace Oqtane.Repository
|
||||
return page;
|
||||
}
|
||||
|
||||
public void DeletePage(int PageId)
|
||||
public void DeletePage(int pageId)
|
||||
{
|
||||
Page Page = _db.Page.Find(PageId);
|
||||
_permissions.DeletePermissions(Page.SiteId, "Page", PageId);
|
||||
IEnumerable<PageModule> pageModules = _db.PageModule.Where(item => item.PageId == PageId).ToList();
|
||||
Page page = _db.Page.Find(pageId);
|
||||
_permissions.DeletePermissions(page.SiteId, "Page", pageId);
|
||||
IEnumerable<PageModule> pageModules = _db.PageModule.Where(item => item.PageId == pageId).ToList();
|
||||
foreach (var pageModule in pageModules)
|
||||
{
|
||||
_pageModules.DeletePageModule(pageModule.PageModuleId);
|
||||
}
|
||||
_db.Page.Remove(Page);
|
||||
_db.Page.Remove(page);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using System.Text;
|
||||
using System;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -20,55 +19,55 @@ namespace Oqtane.Repository
|
||||
_roles = roles;
|
||||
}
|
||||
|
||||
public IEnumerable<Permission> GetPermissions(int SiteId, string EntityName)
|
||||
public IEnumerable<Permission> GetPermissions(int siteId, string entityName)
|
||||
{
|
||||
return _db.Permission.Where(item => item.SiteId == SiteId)
|
||||
.Where(item => item.EntityName == EntityName)
|
||||
return _db.Permission.Where(item => item.SiteId == siteId)
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Include(item => item.Role); // eager load roles
|
||||
}
|
||||
|
||||
public IEnumerable<Permission> GetPermissions(string EntityName, int EntityId)
|
||||
public IEnumerable<Permission> GetPermissions(string entityName, int entityId)
|
||||
{
|
||||
return _db.Permission.Where(item => item.EntityName == EntityName)
|
||||
.Where(item => item.EntityId == EntityId)
|
||||
return _db.Permission.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId)
|
||||
.Include(item => item.Role); // eager load roles
|
||||
}
|
||||
|
||||
public IEnumerable<Permission> GetPermissions(string EntityName, int EntityId, string PermissionName)
|
||||
public IEnumerable<Permission> GetPermissions(string entityName, int entityId, string permissionName)
|
||||
{
|
||||
return _db.Permission.Where(item => item.EntityName == EntityName)
|
||||
.Where(item => item.EntityId == EntityId)
|
||||
.Where(item => item.PermissionName == PermissionName)
|
||||
return _db.Permission.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId)
|
||||
.Where(item => item.PermissionName == permissionName)
|
||||
.Include(item => item.Role); // eager load roles
|
||||
}
|
||||
|
||||
public Permission AddPermission(Permission Permission)
|
||||
public Permission AddPermission(Permission permission)
|
||||
{
|
||||
_db.Permission.Add(Permission);
|
||||
_db.Permission.Add(permission);
|
||||
_db.SaveChanges();
|
||||
return Permission;
|
||||
return permission;
|
||||
}
|
||||
|
||||
public Permission UpdatePermission(Permission Permission)
|
||||
public Permission UpdatePermission(Permission permission)
|
||||
{
|
||||
_db.Entry(Permission).State = EntityState.Modified;
|
||||
_db.Entry(permission).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Permission;
|
||||
return permission;
|
||||
}
|
||||
|
||||
public void UpdatePermissions(int SiteId, string EntityName, int EntityId, string Permissions)
|
||||
public void UpdatePermissions(int siteId, string entityName, int entityId, string permissionStrings)
|
||||
{
|
||||
// get current permissions and delete
|
||||
IEnumerable<Permission> permissions = _db.Permission
|
||||
.Where(item => item.EntityName == EntityName)
|
||||
.Where(item => item.EntityId == EntityId)
|
||||
.Where(item => item.SiteId == SiteId);
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId)
|
||||
.Where(item => item.SiteId == siteId);
|
||||
foreach (Permission permission in permissions)
|
||||
{
|
||||
_db.Permission.Remove(permission);
|
||||
}
|
||||
// add permissions
|
||||
permissions = DecodePermissions(Permissions, SiteId, EntityName, EntityId);
|
||||
permissions = DecodePermissions(permissionStrings, siteId, entityName, entityId);
|
||||
foreach (Permission permission in permissions)
|
||||
{
|
||||
_db.Permission.Add(permission);
|
||||
@ -76,24 +75,24 @@ namespace Oqtane.Repository
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
||||
public Permission GetPermission(int PermissionId)
|
||||
public Permission GetPermission(int permissionId)
|
||||
{
|
||||
return _db.Permission.Find(PermissionId);
|
||||
return _db.Permission.Find(permissionId);
|
||||
}
|
||||
|
||||
public void DeletePermission(int PermissionId)
|
||||
public void DeletePermission(int permissionId)
|
||||
{
|
||||
Permission Permission = _db.Permission.Find(PermissionId);
|
||||
_db.Permission.Remove(Permission);
|
||||
Permission permission = _db.Permission.Find(permissionId);
|
||||
_db.Permission.Remove(permission);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
||||
public void DeletePermissions(int SiteId, string EntityName, int EntityId)
|
||||
public void DeletePermissions(int siteId, string entityName, int entityId)
|
||||
{
|
||||
IEnumerable<Permission> permissions = _db.Permission
|
||||
.Where(item => item.EntityName == EntityName)
|
||||
.Where(item => item.EntityId == EntityId)
|
||||
.Where(item => item.SiteId == SiteId);
|
||||
.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId)
|
||||
.Where(item => item.SiteId == siteId);
|
||||
foreach (Permission permission in permissions)
|
||||
{
|
||||
_db.Permission.Remove(permission);
|
||||
@ -102,14 +101,14 @@ namespace Oqtane.Repository
|
||||
}
|
||||
|
||||
// permissions are stored in the format "{permissionname:!rolename1;![userid1];rolename2;rolename3;[userid2];[userid3]}" where "!" designates Deny permissions
|
||||
public string EncodePermissions(int EntityId, IEnumerable<Permission> Permissions)
|
||||
public string EncodePermissions(int entityId, IEnumerable<Permission> permissionList)
|
||||
{
|
||||
List<PermissionString> permissionstrings = new List<PermissionString>();
|
||||
string permissionname = "";
|
||||
string permissions = "";
|
||||
StringBuilder permissionsbuilder = new StringBuilder();
|
||||
string securityid = "";
|
||||
foreach (Permission permission in Permissions.Where(item => item.EntityId == EntityId).OrderBy(item => item.PermissionName))
|
||||
foreach (Permission permission in permissionList.Where(item => item.EntityId == entityId).OrderBy(item => item.PermissionName))
|
||||
{
|
||||
// permission collections are grouped by permissionname
|
||||
if (permissionname != permission.PermissionName)
|
||||
@ -133,7 +132,7 @@ namespace Oqtane.Repository
|
||||
}
|
||||
else
|
||||
{
|
||||
securityid = prefix + "[" + permission.UserId.ToString() + "];";
|
||||
securityid = prefix + "[" + permission.UserId + "];";
|
||||
}
|
||||
|
||||
// insert deny permissions at the beginning and append grant permissions at the end
|
||||
@ -155,20 +154,20 @@ namespace Oqtane.Repository
|
||||
return JsonSerializer.Serialize(permissionstrings);
|
||||
}
|
||||
|
||||
public IEnumerable<Permission> DecodePermissions(string PermissionStrings, int SiteId, string EntityName, int EntityId)
|
||||
public IEnumerable<Permission> DecodePermissions(string permissionStrings, int siteId, string entityName, int entityId)
|
||||
{
|
||||
List<Permission> permissions = new List<Permission>();
|
||||
List<Role> roles = _roles.GetRoles(SiteId, true).ToList();
|
||||
List<Role> roles = _roles.GetRoles(siteId, true).ToList();
|
||||
string securityid = "";
|
||||
foreach (PermissionString permissionstring in JsonSerializer.Deserialize<List<PermissionString>>(PermissionStrings))
|
||||
foreach (PermissionString permissionstring in JsonSerializer.Deserialize<List<PermissionString>>(permissionStrings))
|
||||
{
|
||||
foreach (string id in permissionstring.Permissions.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
securityid = id;
|
||||
Permission permission = new Permission();
|
||||
permission.SiteId = SiteId;
|
||||
permission.EntityName = EntityName;
|
||||
permission.EntityId = EntityId;
|
||||
permission.SiteId = siteId;
|
||||
permission.EntityName = entityName;
|
||||
permission.EntityId = entityId;
|
||||
permission.PermissionName = permissionstring.PermissionName;
|
||||
permission.RoleId = null;
|
||||
permission.UserId = null;
|
||||
@ -177,7 +176,7 @@ namespace Oqtane.Repository
|
||||
if (securityid.StartsWith("!"))
|
||||
{
|
||||
// deny permission
|
||||
securityid.Replace("!", "");
|
||||
securityid = securityid.Replace("!", "");
|
||||
permission.IsAuthorized = false;
|
||||
}
|
||||
if (securityid.StartsWith("[") && securityid.EndsWith("]"))
|
||||
@ -189,7 +188,7 @@ namespace Oqtane.Repository
|
||||
else
|
||||
{
|
||||
// role name
|
||||
Role role = roles.Where(item => item.Name == securityid).SingleOrDefault();
|
||||
Role role = roles.SingleOrDefault(item => item.Name == securityid);
|
||||
if (role != null)
|
||||
{
|
||||
permission.RoleId = role.RoleId;
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,34 +14,34 @@ namespace Oqtane.Repository
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<Profile> GetProfiles(int SiteId)
|
||||
public IEnumerable<Profile> GetProfiles(int siteId)
|
||||
{
|
||||
return _db.Profile.Where(item => item.SiteId == SiteId || item.SiteId == null);
|
||||
return _db.Profile.Where(item => item.SiteId == siteId || item.SiteId == null);
|
||||
}
|
||||
|
||||
public Profile AddProfile(Profile Profile)
|
||||
public Profile AddProfile(Profile profile)
|
||||
{
|
||||
_db.Profile.Add(Profile);
|
||||
_db.Profile.Add(profile);
|
||||
_db.SaveChanges();
|
||||
return Profile;
|
||||
return profile;
|
||||
}
|
||||
|
||||
public Profile UpdateProfile(Profile Profile)
|
||||
public Profile UpdateProfile(Profile profile)
|
||||
{
|
||||
_db.Entry(Profile).State = EntityState.Modified;
|
||||
_db.Entry(profile).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Profile;
|
||||
return profile;
|
||||
}
|
||||
|
||||
public Profile GetProfile(int ProfileId)
|
||||
public Profile GetProfile(int profileId)
|
||||
{
|
||||
return _db.Profile.Find(ProfileId);
|
||||
return _db.Profile.Find(profileId);
|
||||
}
|
||||
|
||||
public void DeleteProfile(int ProfileId)
|
||||
public void DeleteProfile(int profileId)
|
||||
{
|
||||
Profile Profile = _db.Profile.Find(ProfileId);
|
||||
_db.Profile.Remove(Profile);
|
||||
Profile profile = _db.Profile.Find(profileId);
|
||||
_db.Profile.Remove(profile);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,40 +14,40 @@ namespace Oqtane.Repository
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<Role> GetRoles(int SiteId)
|
||||
public IEnumerable<Role> GetRoles(int siteId)
|
||||
{
|
||||
return _db.Role.Where(item => item.SiteId == SiteId);
|
||||
return _db.Role.Where(item => item.SiteId == siteId);
|
||||
}
|
||||
|
||||
public IEnumerable<Role> GetRoles(int SiteId, bool IncludeGlobalRoles)
|
||||
public IEnumerable<Role> GetRoles(int siteId, bool includeGlobalRoles)
|
||||
{
|
||||
return _db.Role.Where(item => item.SiteId == SiteId || item.SiteId == null);
|
||||
return _db.Role.Where(item => item.SiteId == siteId || item.SiteId == null);
|
||||
}
|
||||
|
||||
|
||||
public Role AddRole(Role Role)
|
||||
public Role AddRole(Role role)
|
||||
{
|
||||
_db.Role.Add(Role);
|
||||
_db.Role.Add(role);
|
||||
_db.SaveChanges();
|
||||
return Role;
|
||||
return role;
|
||||
}
|
||||
|
||||
public Role UpdateRole(Role Role)
|
||||
public Role UpdateRole(Role role)
|
||||
{
|
||||
_db.Entry(Role).State = EntityState.Modified;
|
||||
_db.Entry(role).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Role;
|
||||
return role;
|
||||
}
|
||||
|
||||
public Role GetRole(int RoleId)
|
||||
public Role GetRole(int roleId)
|
||||
{
|
||||
return _db.Role.Find(RoleId);
|
||||
return _db.Role.Find(roleId);
|
||||
}
|
||||
|
||||
public void DeleteRole(int RoleId)
|
||||
public void DeleteRole(int roleId)
|
||||
{
|
||||
Role Role = _db.Role.Find(RoleId);
|
||||
_db.Role.Remove(Role);
|
||||
Role role = _db.Role.Find(roleId);
|
||||
_db.Role.Remove(role);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,35 +14,35 @@ namespace Oqtane.Repository
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<Setting> GetSettings(string EntityName, int EntityId)
|
||||
public IEnumerable<Setting> GetSettings(string entityName, int entityId)
|
||||
{
|
||||
return _db.Setting.Where(item => item.EntityName == EntityName)
|
||||
.Where(item => item.EntityId == EntityId);
|
||||
return _db.Setting.Where(item => item.EntityName == entityName)
|
||||
.Where(item => item.EntityId == entityId);
|
||||
}
|
||||
|
||||
public Setting AddSetting(Setting Setting)
|
||||
public Setting AddSetting(Setting setting)
|
||||
{
|
||||
_db.Setting.Add(Setting);
|
||||
_db.Setting.Add(setting);
|
||||
_db.SaveChanges();
|
||||
return Setting;
|
||||
return setting;
|
||||
}
|
||||
|
||||
public Setting UpdateSetting(Setting Setting)
|
||||
public Setting UpdateSetting(Setting setting)
|
||||
{
|
||||
_db.Entry(Setting).State = EntityState.Modified;
|
||||
_db.Entry(setting).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Setting;
|
||||
return setting;
|
||||
}
|
||||
|
||||
public Setting GetSetting(int SettingId)
|
||||
public Setting GetSetting(int settingId)
|
||||
{
|
||||
return _db.Setting.Find(SettingId);
|
||||
return _db.Setting.Find(settingId);
|
||||
}
|
||||
|
||||
public void DeleteSetting(int SettingId)
|
||||
public void DeleteSetting(int settingId)
|
||||
{
|
||||
Setting Setting = _db.Setting.Find(SettingId);
|
||||
_db.Setting.Remove(Setting);
|
||||
Setting setting = _db.Setting.Find(settingId);
|
||||
_db.Setting.Remove(setting);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,13 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Shared;
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using Oqtane.Modules;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Modules;
|
||||
using Oqtane.Shared;
|
||||
using Module = Oqtane.Models.Module;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -130,19 +131,19 @@ namespace Oqtane.Repository
|
||||
return _db.Site;
|
||||
}
|
||||
|
||||
public Site AddSite(Site Site)
|
||||
public Site AddSite(Site site)
|
||||
{
|
||||
_db.Site.Add(Site);
|
||||
_db.Site.Add(site);
|
||||
_db.SaveChanges();
|
||||
CreateSite(Site);
|
||||
return Site;
|
||||
CreateSite(site);
|
||||
return site;
|
||||
}
|
||||
|
||||
public Site UpdateSite(Site Site)
|
||||
public Site UpdateSite(Site site)
|
||||
{
|
||||
_db.Entry(Site).State = EntityState.Modified;
|
||||
_db.Entry(site).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return Site;
|
||||
return site;
|
||||
}
|
||||
|
||||
public Site GetSite(int siteId)
|
||||
@ -226,7 +227,7 @@ namespace Oqtane.Repository
|
||||
ModuleDefinition moduledefinition = moduledefinitions.Where(item => item.ModuleDefinitionName == pagetemplatemodule.ModuleDefinitionName).FirstOrDefault();
|
||||
if (moduledefinition != null)
|
||||
{
|
||||
Models.Module module = new Models.Module
|
||||
Module module = new Module
|
||||
{
|
||||
SiteId = site.SiteId,
|
||||
ModuleDefinitionName = pagetemplatemodule.ModuleDefinitionName,
|
||||
|
@ -1,10 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -28,30 +27,30 @@ namespace Oqtane.Repository
|
||||
});
|
||||
}
|
||||
|
||||
public Tenant AddTenant(Tenant Tenant)
|
||||
public Tenant AddTenant(Tenant tenant)
|
||||
{
|
||||
_db.Tenant.Add(Tenant);
|
||||
_db.Tenant.Add(tenant);
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("tenants");
|
||||
return Tenant;
|
||||
return tenant;
|
||||
}
|
||||
|
||||
public Tenant UpdateTenant(Tenant Tenant)
|
||||
public Tenant UpdateTenant(Tenant tenant)
|
||||
{
|
||||
_db.Entry(Tenant).State = EntityState.Modified;
|
||||
_db.Entry(tenant).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("tenants");
|
||||
return Tenant;
|
||||
return tenant;
|
||||
}
|
||||
|
||||
public Tenant GetTenant(int TenantId)
|
||||
public Tenant GetTenant(int tenantId)
|
||||
{
|
||||
return _db.Tenant.Find(TenantId);
|
||||
return _db.Tenant.Find(tenantId);
|
||||
}
|
||||
|
||||
public void DeleteTenant(int TenantId)
|
||||
public void DeleteTenant(int tenantId)
|
||||
{
|
||||
Tenant tenant = _db.Tenant.Find(TenantId);
|
||||
Tenant tenant = _db.Tenant.Find(tenantId);
|
||||
_db.Tenant.Remove(tenant);
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("tenants");
|
||||
|
@ -1,70 +1,70 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using System;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Shared;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public class TenantResolver : ITenantResolver
|
||||
{
|
||||
private readonly Alias _alias = null;
|
||||
private readonly Tenant _tenant = null;
|
||||
private readonly Alias _alias;
|
||||
private readonly Tenant _tenant;
|
||||
|
||||
public TenantResolver(IHttpContextAccessor Accessor, IAliasRepository Aliases, ITenantRepository Tenants, SiteState SiteState)
|
||||
public TenantResolver(IHttpContextAccessor accessor, IAliasRepository aliasRepository, ITenantRepository tenantRepository, SiteState siteState)
|
||||
{
|
||||
int aliasid = -1;
|
||||
string aliasname = "";
|
||||
int aliasId = -1;
|
||||
string aliasName = "";
|
||||
|
||||
// get alias identifier based on request context
|
||||
if (Accessor.HttpContext != null)
|
||||
if (accessor.HttpContext != null)
|
||||
{
|
||||
// check if an alias is passed as a querystring parameter ( for cross tenant access )
|
||||
if (Accessor.HttpContext.Request.Query.ContainsKey("aliasid"))
|
||||
if (accessor.HttpContext.Request.Query.ContainsKey("aliasid"))
|
||||
{
|
||||
aliasid = int.Parse(Accessor.HttpContext.Request.Query["aliasid"]);
|
||||
aliasId = int.Parse(accessor.HttpContext.Request.Query["aliasid"]);
|
||||
}
|
||||
else // get the alias from the request url
|
||||
{
|
||||
aliasname = Accessor.HttpContext.Request.Host.Value;
|
||||
string path = Accessor.HttpContext.Request.Path.Value;
|
||||
aliasName = accessor.HttpContext.Request.Host.Value;
|
||||
string path = accessor.HttpContext.Request.Path.Value;
|
||||
string[] segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (segments.Length > 1 && segments[1] == "api" && segments[0] != "~")
|
||||
{
|
||||
aliasname += "/" + segments[0];
|
||||
aliasName += "/" + segments[0];
|
||||
}
|
||||
if (aliasname.EndsWith("/"))
|
||||
if (aliasName.EndsWith("/"))
|
||||
{
|
||||
aliasname = aliasname.Substring(0, aliasname.Length - 1);
|
||||
aliasName = aliasName.Substring(0, aliasName.Length - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
else // background processes can pass in an alias using the SiteState service
|
||||
{
|
||||
if (SiteState != null)
|
||||
if (siteState != null)
|
||||
{
|
||||
aliasid = SiteState.Alias.AliasId;
|
||||
aliasId = siteState.Alias.AliasId;
|
||||
}
|
||||
}
|
||||
|
||||
// get the alias and tenant
|
||||
if (aliasid != -1 || aliasname != "")
|
||||
if (aliasId != -1 || aliasName != "")
|
||||
{
|
||||
IEnumerable<Alias> aliases = Aliases.GetAliases(); // cached
|
||||
IEnumerable<Tenant> tenants = Tenants.GetTenants(); // cached
|
||||
IEnumerable<Alias> aliases = aliasRepository.GetAliases(); // cached
|
||||
IEnumerable<Tenant> tenants = tenantRepository.GetTenants(); // cached
|
||||
|
||||
if (aliasid != -1)
|
||||
if (aliasId != -1)
|
||||
{
|
||||
_alias = aliases.Where(item => item.AliasId == aliasid).FirstOrDefault();
|
||||
_alias = aliases.FirstOrDefault(item => item.AliasId == aliasId);
|
||||
}
|
||||
else
|
||||
{
|
||||
_alias = aliases.Where(item => item.Name == aliasname).FirstOrDefault();
|
||||
_alias = aliases.FirstOrDefault(item => item.Name == aliasName);
|
||||
}
|
||||
if (_alias != null)
|
||||
{
|
||||
_tenant = tenants.Where(item => item.TenantId == _alias.TenantId).FirstOrDefault();
|
||||
_tenant = tenants.FirstOrDefault(item => item.TenantId == _alias.TenantId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -79,4 +79,4 @@ namespace Oqtane.Repository
|
||||
return _tenant;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Oqtane.Models;
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Themes;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -12,17 +11,17 @@ namespace Oqtane.Repository
|
||||
{
|
||||
private List<Theme> LoadThemes()
|
||||
{
|
||||
List<Theme> Themes = new List<Theme>();
|
||||
List<Theme> themes = new List<Theme>();
|
||||
|
||||
// iterate through Oqtane theme assemblies
|
||||
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies()
|
||||
.Where(item => item.FullName.StartsWith("Oqtane.") || item.FullName.Contains(".Theme.")).ToArray();
|
||||
foreach (Assembly assembly in assemblies)
|
||||
{
|
||||
Themes = LoadThemesFromAssembly(Themes, assembly);
|
||||
themes = LoadThemesFromAssembly(themes, assembly);
|
||||
}
|
||||
|
||||
return Themes;
|
||||
return themes;
|
||||
}
|
||||
|
||||
private List<Theme> LoadThemesFromAssembly(List<Theme> themes, Assembly assembly)
|
||||
@ -36,15 +35,15 @@ namespace Oqtane.Repository
|
||||
string[] typename = themeControlType.AssemblyQualifiedName.Split(',').Select(item => item.Trim()).ToList().ToArray();
|
||||
string[] segments = typename[0].Split('.');
|
||||
Array.Resize(ref segments, segments.Length - 1);
|
||||
string Namespace = string.Join(".", segments);
|
||||
string @namespace = string.Join(".", segments);
|
||||
|
||||
int index = themes.FindIndex(item => item.ThemeName == Namespace);
|
||||
int index = themes.FindIndex(item => item.ThemeName == @namespace);
|
||||
if (index == -1)
|
||||
{
|
||||
/// determine if this theme implements ITheme
|
||||
// determine if this theme implements ITheme
|
||||
Type themetype = assembly.GetTypes()
|
||||
.Where(item => item.Namespace != null)
|
||||
.Where(item => item.Namespace.StartsWith(Namespace))
|
||||
.Where(item => item.Namespace.StartsWith(@namespace))
|
||||
.Where(item => item.GetInterfaces().Contains(typeof(ITheme))).FirstOrDefault();
|
||||
if (themetype != null)
|
||||
{
|
||||
@ -52,7 +51,7 @@ namespace Oqtane.Repository
|
||||
Dictionary<string, string> properties = (Dictionary<string, string>)themetype.GetProperty("Properties").GetValue(themeobject);
|
||||
theme = new Theme
|
||||
{
|
||||
ThemeName = Namespace,
|
||||
ThemeName = @namespace,
|
||||
Name = GetProperty(properties, "Name"),
|
||||
Version = GetProperty(properties, "Version"),
|
||||
Owner = GetProperty(properties, "Owner"),
|
||||
@ -70,7 +69,7 @@ namespace Oqtane.Repository
|
||||
{
|
||||
theme = new Theme
|
||||
{
|
||||
ThemeName = Namespace,
|
||||
ThemeName = @namespace,
|
||||
Name = themeControlType.Name,
|
||||
Version = new Version(1, 0, 0).ToString(),
|
||||
Owner = "",
|
||||
@ -85,7 +84,7 @@ namespace Oqtane.Repository
|
||||
};
|
||||
}
|
||||
themes.Add(theme);
|
||||
index = themes.FindIndex(item => item.ThemeName == Namespace);
|
||||
index = themes.FindIndex(item => item.ThemeName == @namespace);
|
||||
}
|
||||
theme = themes[index];
|
||||
theme.ThemeControls += (themeControlType.FullName + ", " + typename[1] + ";");
|
||||
@ -93,7 +92,7 @@ namespace Oqtane.Repository
|
||||
// layouts
|
||||
Type[] layouttypes = assembly.GetTypes()
|
||||
.Where(item => item.Namespace != null)
|
||||
.Where(item => item.Namespace.StartsWith(Namespace))
|
||||
.Where(item => item.Namespace.StartsWith(@namespace))
|
||||
.Where(item => item.GetInterfaces().Contains(typeof(ILayoutControl))).ToArray();
|
||||
foreach (Type layouttype in layouttypes)
|
||||
{
|
||||
@ -107,7 +106,7 @@ namespace Oqtane.Repository
|
||||
// containers
|
||||
Type[] containertypes = assembly.GetTypes()
|
||||
.Where(item => item.Namespace != null)
|
||||
.Where(item => item.Namespace.StartsWith(Namespace))
|
||||
.Where(item => item.Namespace.StartsWith(@namespace))
|
||||
.Where(item => item.GetInterfaces().Contains(typeof(IContainerControl))).ToArray();
|
||||
foreach (Type containertype in containertypes)
|
||||
{
|
||||
@ -124,14 +123,14 @@ namespace Oqtane.Repository
|
||||
return themes;
|
||||
}
|
||||
|
||||
private string GetProperty(Dictionary<string, string> Properties, string Key)
|
||||
private string GetProperty(Dictionary<string, string> properties, string key)
|
||||
{
|
||||
string Value = "";
|
||||
if (Properties.ContainsKey(Key))
|
||||
string value = "";
|
||||
if (properties.ContainsKey(key))
|
||||
{
|
||||
Value = Properties[Key];
|
||||
value = properties[key];
|
||||
}
|
||||
return Value;
|
||||
return value;
|
||||
}
|
||||
|
||||
public IEnumerable<Theme> GetThemes()
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -38,9 +38,9 @@ namespace Oqtane.Repository
|
||||
return _db.User.Find(userId);
|
||||
}
|
||||
|
||||
public User GetUser(string Username)
|
||||
public User GetUser(string username)
|
||||
{
|
||||
return _db.User.Where(item => item.Username == Username).FirstOrDefault();
|
||||
return _db.User.Where(item => item.Username == username).FirstOrDefault();
|
||||
}
|
||||
|
||||
public void DeleteUser(int userId)
|
||||
|
@ -1,6 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -14,48 +14,48 @@ namespace Oqtane.Repository
|
||||
_db = context;
|
||||
}
|
||||
|
||||
public IEnumerable<UserRole> GetUserRoles(int SiteId)
|
||||
public IEnumerable<UserRole> GetUserRoles(int siteId)
|
||||
{
|
||||
return _db.UserRole
|
||||
.Include(item => item.Role) // eager load roles
|
||||
.Include(item => item.User) // eager load users
|
||||
.Where(item => item.Role.SiteId == SiteId || item.Role.SiteId == null);
|
||||
.Where(item => item.Role.SiteId == siteId || item.Role.SiteId == null);
|
||||
}
|
||||
|
||||
public IEnumerable<UserRole> GetUserRoles(int UserId, int SiteId)
|
||||
public IEnumerable<UserRole> GetUserRoles(int userId, int siteId)
|
||||
{
|
||||
return _db.UserRole.Where(item => item.UserId == UserId)
|
||||
return _db.UserRole.Where(item => item.UserId == userId)
|
||||
.Include(item => item.Role) // eager load roles
|
||||
.Include(item => item.User) // eager load users
|
||||
.Where(item => item.Role.SiteId == SiteId || item.Role.SiteId == null);
|
||||
.Where(item => item.Role.SiteId == siteId || item.Role.SiteId == null);
|
||||
}
|
||||
|
||||
public UserRole AddUserRole(UserRole UserRole)
|
||||
public UserRole AddUserRole(UserRole userRole)
|
||||
{
|
||||
_db.UserRole.Add(UserRole);
|
||||
_db.UserRole.Add(userRole);
|
||||
_db.SaveChanges();
|
||||
return UserRole;
|
||||
return userRole;
|
||||
}
|
||||
|
||||
public UserRole UpdateUserRole(UserRole UserRole)
|
||||
public UserRole UpdateUserRole(UserRole userRole)
|
||||
{
|
||||
_db.Entry(UserRole).State = EntityState.Modified;
|
||||
_db.Entry(userRole).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
return UserRole;
|
||||
return userRole;
|
||||
}
|
||||
|
||||
public UserRole GetUserRole(int UserRoleId)
|
||||
public UserRole GetUserRole(int userRoleId)
|
||||
{
|
||||
return _db.UserRole
|
||||
.Include(item => item.Role) // eager load roles
|
||||
.Include(item => item.User) // eager load users
|
||||
.SingleOrDefault(item => item.UserRoleId == UserRoleId);
|
||||
.SingleOrDefault(item => item.UserRoleId == userRoleId);
|
||||
}
|
||||
|
||||
public void DeleteUserRole(int UserRoleId)
|
||||
public void DeleteUserRole(int userRoleId)
|
||||
{
|
||||
UserRole UserRole = _db.UserRole.Find(UserRoleId);
|
||||
_db.UserRole.Remove(UserRole);
|
||||
UserRole userRole = _db.UserRole.Find(userRoleId);
|
||||
_db.UserRole.Remove(userRole);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user