logging improvements
This commit is contained in:
@ -10,39 +10,49 @@ namespace Oqtane.Repository
|
||||
{
|
||||
private MasterDBContext db;
|
||||
private readonly string aliasname;
|
||||
private readonly IAliasRepository _aliasrepository;
|
||||
private readonly ITenantRepository _tenantrepository;
|
||||
private readonly IAliasRepository Aliases;
|
||||
private readonly ITenantRepository Tenants;
|
||||
|
||||
public TenantResolver(MasterDBContext context, IHttpContextAccessor accessor, IAliasRepository aliasrepository, ITenantRepository tenantrepository)
|
||||
public TenantResolver(MasterDBContext context, IHttpContextAccessor accessor, IAliasRepository Aliases, ITenantRepository Tenants)
|
||||
{
|
||||
db = context;
|
||||
_aliasrepository = aliasrepository;
|
||||
_tenantrepository = tenantrepository;
|
||||
this.Aliases = Aliases;
|
||||
this.Tenants = Tenants;
|
||||
aliasname = "";
|
||||
|
||||
// get alias based on request context
|
||||
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] != "~")
|
||||
if (accessor.HttpContext != null)
|
||||
{
|
||||
aliasname += "/" + segments[0];
|
||||
}
|
||||
if (aliasname.EndsWith("/"))
|
||||
{
|
||||
aliasname = aliasname.Substring(0, aliasname.Length - 1);
|
||||
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];
|
||||
}
|
||||
if (aliasname.EndsWith("/"))
|
||||
{
|
||||
aliasname = aliasname.Substring(0, aliasname.Length - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Alias GetAlias()
|
||||
{
|
||||
IEnumerable<Alias> aliases = _aliasrepository.GetAliases(); // cached
|
||||
IEnumerable<Alias> aliases = Aliases.GetAliases(); // cached
|
||||
return aliases.Where(item => item.Name == aliasname).FirstOrDefault();
|
||||
}
|
||||
|
||||
public Tenant GetTenant()
|
||||
{
|
||||
IEnumerable<Tenant> tenants = _tenantrepository.GetTenants(); // cached
|
||||
return tenants.Where(item => item.TenantId == GetAlias().TenantId).FirstOrDefault();
|
||||
Tenant tenant = null;
|
||||
Alias alias = GetAlias();
|
||||
if (alias != null)
|
||||
{
|
||||
IEnumerable<Tenant> tenants = Tenants.GetTenants(); // cached
|
||||
tenant = tenants.Where(item => item.TenantId == alias.TenantId).FirstOrDefault();
|
||||
}
|
||||
return tenant;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user