refactored site management to include better support for multi-tenancy
This commit is contained in:
@ -11,5 +11,6 @@ namespace Oqtane.Services
|
||||
Task<List<Log>> GetLogsAsync(int SiteId, string Level, string Function, int Rows);
|
||||
Task<Log> GetLogAsync(int LogId);
|
||||
Task Log(int? PageId, int? ModuleId, int? UserId, string category, string feature, LogFunction function, LogLevel level, Exception exception, string message, params object[] args);
|
||||
Task Log(Alias Alias, int? PageId, int? ModuleId, int? UserId, string category, string feature, LogFunction function, LogLevel level, Exception exception, string message, params object[] args);
|
||||
}
|
||||
}
|
||||
|
@ -6,14 +6,14 @@ namespace Oqtane.Services
|
||||
{
|
||||
public interface ISiteService
|
||||
{
|
||||
Task<List<Site>> GetSitesAsync();
|
||||
Task<List<Site>> GetSitesAsync(Alias Alias);
|
||||
|
||||
Task<Site> GetSiteAsync(int SiteId);
|
||||
Task<Site> GetSiteAsync(int SiteId, Alias Alias);
|
||||
|
||||
Task<Site> AddSiteAsync(Site Site, Alias Alias);
|
||||
|
||||
Task<Site> UpdateSiteAsync(Site Site);
|
||||
Task<Site> UpdateSiteAsync(Site Site, Alias Alias);
|
||||
|
||||
Task DeleteSiteAsync(int SiteId);
|
||||
Task DeleteSiteAsync(int SiteId, Alias Alias);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
@ -38,9 +39,21 @@ namespace Oqtane.Services
|
||||
}
|
||||
|
||||
public async Task Log(int? PageId, int? ModuleId, int? UserId, string category, string feature, LogFunction function, LogLevel level, Exception exception, string message, params object[] args)
|
||||
{
|
||||
await Log(null, PageId, ModuleId, UserId, category, feature, function, level, exception, message, args);
|
||||
}
|
||||
|
||||
public async Task Log(Alias Alias, int? PageId, int? ModuleId, int? UserId, string category, string feature, LogFunction function, LogLevel level, Exception exception, string message, params object[] args)
|
||||
{
|
||||
Log log = new Log();
|
||||
log.SiteId = sitestate.Alias.SiteId;
|
||||
if (Alias == null)
|
||||
{
|
||||
log.SiteId = sitestate.Alias.SiteId;
|
||||
}
|
||||
else
|
||||
{
|
||||
log.SiteId = Alias.SiteId;
|
||||
}
|
||||
log.PageId = PageId;
|
||||
log.ModuleId = ModuleId;
|
||||
log.UserId = UserId;
|
||||
@ -56,7 +69,14 @@ namespace Oqtane.Services
|
||||
log.Message = message;
|
||||
log.MessageTemplate = "";
|
||||
log.Properties = JsonSerializer.Serialize(args);
|
||||
await http.PostJsonAsync(apiurl, log);
|
||||
if (Alias == null)
|
||||
{
|
||||
await http.PostJsonAsync(apiurl, log);
|
||||
}
|
||||
else
|
||||
{
|
||||
await http.PostJsonAsync(apiurl + "?alias=" + WebUtility.UrlEncode(Alias.Name), log);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -124,8 +124,11 @@ namespace Oqtane.Services
|
||||
}
|
||||
else
|
||||
{
|
||||
setting.SettingValue = kvp.Value;
|
||||
setting = await UpdateSettingAsync(setting);
|
||||
if (setting.SettingValue != kvp.Value)
|
||||
{
|
||||
setting.SettingValue = kvp.Value;
|
||||
setting = await UpdateSettingAsync(setting);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -27,37 +27,40 @@ namespace Oqtane.Services
|
||||
get { return CreateApiUrl(sitestate.Alias, NavigationManager.Uri, "Site"); }
|
||||
}
|
||||
|
||||
public async Task<List<Site>> GetSitesAsync()
|
||||
private string urlsuffix(Alias Alias)
|
||||
{
|
||||
List<Site> sites = await http.GetJsonAsync<List<Site>>(apiurl);
|
||||
string querystring = "";
|
||||
if (Alias != null)
|
||||
{
|
||||
querystring = "?alias=" + WebUtility.UrlEncode(Alias.Name);
|
||||
}
|
||||
return querystring;
|
||||
}
|
||||
|
||||
public async Task<List<Site>> GetSitesAsync(Alias Alias)
|
||||
{
|
||||
List<Site> sites = await http.GetJsonAsync<List<Site>>(apiurl + urlsuffix(Alias));
|
||||
return sites.OrderBy(item => item.Name).ToList();
|
||||
}
|
||||
|
||||
public async Task<Site> GetSiteAsync(int SiteId)
|
||||
public async Task<Site> GetSiteAsync(int SiteId, Alias Alias)
|
||||
{
|
||||
return await http.GetJsonAsync<Site>(apiurl + "/" + SiteId.ToString());
|
||||
return await http.GetJsonAsync<Site>(apiurl + "/" + SiteId.ToString() + urlsuffix(Alias));
|
||||
}
|
||||
|
||||
public async Task<Site> AddSiteAsync(Site Site, Alias Alias)
|
||||
{
|
||||
if (Alias == null)
|
||||
{
|
||||
return await http.PostJsonAsync<Site>(apiurl, Site);
|
||||
}
|
||||
else
|
||||
{
|
||||
return await http.PostJsonAsync<Site>(apiurl + "?alias=" + WebUtility.UrlEncode(Alias.Name), Site);
|
||||
}
|
||||
return await http.PostJsonAsync<Site>(apiurl + urlsuffix(Alias), Site);
|
||||
}
|
||||
|
||||
public async Task<Site> UpdateSiteAsync(Site Site)
|
||||
public async Task<Site> UpdateSiteAsync(Site Site, Alias Alias)
|
||||
{
|
||||
return await http.PutJsonAsync<Site>(apiurl + "/" + Site.SiteId.ToString(), Site);
|
||||
return await http.PutJsonAsync<Site>(apiurl + "/" + Site.SiteId.ToString() + urlsuffix(Alias), Site);
|
||||
}
|
||||
|
||||
public async Task DeleteSiteAsync(int SiteId)
|
||||
public async Task DeleteSiteAsync(int SiteId, Alias Alias)
|
||||
{
|
||||
await http.DeleteAsync(apiurl + "/" + SiteId.ToString());
|
||||
await http.DeleteAsync(apiurl + "/" + SiteId.ToString() + urlsuffix(Alias));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user