CSS separation, multi-tenancy fixes
This commit is contained in:
@ -7,13 +7,18 @@ 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);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,8 @@ namespace Oqtane.Services
|
||||
|
||||
Task<User> AddUserAsync(User User);
|
||||
|
||||
Task<User> AddUserAsync(User User, Alias alias);
|
||||
|
||||
Task<User> UpdateUserAsync(User User);
|
||||
|
||||
Task DeleteUserAsync(int UserId);
|
||||
|
@ -10,11 +10,13 @@ namespace Oqtane.Services
|
||||
|
||||
public static string CreateApiUrl(Alias alias, string absoluteUri, string serviceName)
|
||||
{
|
||||
string apiurl = "";
|
||||
Uri uri = new Uri(absoluteUri);
|
||||
|
||||
string apiurl;
|
||||
if (alias != null)
|
||||
{
|
||||
// build a url which passes the alias that may include a subfolder for multi-tenancy
|
||||
apiurl = alias.Url + "/";
|
||||
apiurl = uri.Scheme + "://" + alias.Name + "/";
|
||||
if (alias.Path == "")
|
||||
{
|
||||
apiurl += "~/";
|
||||
@ -23,7 +25,6 @@ namespace Oqtane.Services
|
||||
else
|
||||
{
|
||||
// build a url which ignores any subfolder for multi-tenancy
|
||||
Uri uri = new Uri(absoluteUri);
|
||||
apiurl = uri.Scheme + "://" + uri.Authority + "/~/";
|
||||
}
|
||||
apiurl += "api/" + serviceName;
|
||||
|
@ -31,25 +31,47 @@ namespace Oqtane.Services
|
||||
List<Site> sites = await http.GetJsonAsync<List<Site>>(apiurl);
|
||||
return sites.OrderBy(item => item.Name).ToList();
|
||||
}
|
||||
public async Task<List<Site>> GetSitesAsync(Alias Alias)
|
||||
{
|
||||
List<Site> sites = await http.GetJsonAsync<List<Site>>(CreateApiUrl(Alias, NavigationManager.Uri, "Site"));
|
||||
return sites.OrderBy(item => item.Name).ToList();
|
||||
}
|
||||
|
||||
public async Task<Site> GetSiteAsync(int SiteId)
|
||||
{
|
||||
return await http.GetJsonAsync<Site>(apiurl + "/" + SiteId.ToString());
|
||||
}
|
||||
public async Task<Site> GetSiteAsync(int SiteId, Alias Alias)
|
||||
{
|
||||
return await http.GetJsonAsync<Site>(CreateApiUrl(Alias, NavigationManager.Uri, "Site") + "/" + SiteId.ToString());
|
||||
}
|
||||
|
||||
public async Task<Site> AddSiteAsync(Site Site)
|
||||
{
|
||||
return await http.PostJsonAsync<Site>(apiurl, Site);
|
||||
}
|
||||
|
||||
public async Task<Site> AddSiteAsync(Site Site, Alias Alias)
|
||||
{
|
||||
return await http.PostJsonAsync<Site>(CreateApiUrl(Alias, NavigationManager.Uri, "Site"), Site);
|
||||
}
|
||||
|
||||
public async Task<Site> UpdateSiteAsync(Site Site)
|
||||
{
|
||||
return await http.PutJsonAsync<Site>(apiurl + "/" + Site.SiteId.ToString(), Site);
|
||||
}
|
||||
public async Task<Site> UpdateSiteAsync(Site Site, Alias Alias)
|
||||
{
|
||||
return await http.PutJsonAsync<Site>(CreateApiUrl(Alias, NavigationManager.Uri, "Site") + "/" + Site.SiteId.ToString(), Site);
|
||||
}
|
||||
|
||||
public async Task DeleteSiteAsync(int SiteId)
|
||||
{
|
||||
await http.DeleteAsync(apiurl + "/" + SiteId.ToString());
|
||||
}
|
||||
public async Task DeleteSiteAsync(int SiteId, Alias Alias)
|
||||
{
|
||||
await http.DeleteAsync(CreateApiUrl(Alias, NavigationManager.Uri, "Site") + "/" + SiteId.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,6 +55,18 @@ namespace Oqtane.Services
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<User> AddUserAsync(User User, Alias Alias)
|
||||
{
|
||||
try
|
||||
{
|
||||
return await http.PostJsonAsync<User>(CreateApiUrl(Alias, NavigationManager.Uri, "User"), User);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<User> UpdateUserAsync(User User)
|
||||
{
|
||||
return await http.PutJsonAsync<User>(apiurl + "/" + User.UserId.ToString(), User);
|
||||
|
Reference in New Issue
Block a user