DI: TenantManager
This commit is contained in:
parent
7bb42748b7
commit
41b4a909cd
@ -78,31 +78,20 @@ namespace ASC.Core.Data
|
|||||||
return SaveSettingsFor(settings, tenantId, Guid.Empty);
|
return SaveSettingsFor(settings, tenantId, Guid.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SaveSettingsFor<T>(T settings, Guid userId) where T : class, ISettings
|
|
||||||
{
|
|
||||||
return SaveSettingsFor(settings, CoreContext.TenantManager.GetCurrentTenant().TenantId, userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public T LoadSettings<T>(int tenantId) where T : class, ISettings
|
public T LoadSettings<T>(int tenantId) where T : class, ISettings
|
||||||
{
|
{
|
||||||
return LoadSettingsFor<T>(tenantId, Guid.Empty);
|
return LoadSettingsFor<T>(tenantId, Guid.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
public T LoadSettingsFor<T>(Guid userId) where T : class, ISettings
|
public void ClearCache<T>(int tenantId) where T : class, ISettings
|
||||||
{
|
{
|
||||||
return LoadSettingsFor<T>(CoreContext.TenantManager.GetCurrentTenant().TenantId, userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ClearCache<T>() where T : class, ISettings
|
|
||||||
{
|
|
||||||
var tenantId = CoreContext.TenantManager.GetCurrentTenant().TenantId;
|
|
||||||
var settings = LoadSettings<T>(tenantId);
|
var settings = LoadSettings<T>(tenantId);
|
||||||
var key = settings.ID.ToString() + tenantId + Guid.Empty;
|
var key = settings.ID.ToString() + tenantId + Guid.Empty;
|
||||||
notify.Publish(new SettingsCacheItem { Key = key }, CacheNotifyAction.Remove);
|
notify.Publish(new SettingsCacheItem { Key = key }, CacheNotifyAction.Remove);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private bool SaveSettingsFor<T>(T settings, int tenantId, Guid userId) where T : ISettings
|
public bool SaveSettingsFor<T>(T settings, int tenantId, Guid userId) where T : ISettings
|
||||||
{
|
{
|
||||||
if (settings == null) throw new ArgumentNullException("settings");
|
if (settings == null) throw new ArgumentNullException("settings");
|
||||||
try
|
try
|
||||||
|
@ -99,7 +99,7 @@ namespace ASC.Core.Common.Settings
|
|||||||
|
|
||||||
public bool SaveForUser(Guid userId)
|
public bool SaveForUser(Guid userId)
|
||||||
{
|
{
|
||||||
return SettingsManager.SaveSettingsFor(this, userId);
|
return SettingsManager.SaveSettingsFor(this, TenantID, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SaveForDefaultTenant()
|
public bool SaveForDefaultTenant()
|
||||||
@ -114,7 +114,7 @@ namespace ASC.Core.Common.Settings
|
|||||||
|
|
||||||
public void ClearCache()
|
public void ClearCache()
|
||||||
{
|
{
|
||||||
SettingsManager.ClearCache<T>();
|
SettingsManager.ClearCache<T>(TenantID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract Guid ID { get; }
|
public abstract Guid ID { get; }
|
||||||
|
@ -44,6 +44,15 @@ namespace ASC.Data.Storage.S3
|
|||||||
private bool configErrors;
|
private bool configErrors;
|
||||||
private bool configured;
|
private bool configured;
|
||||||
|
|
||||||
|
public CoreSettings CoreSettings { get; }
|
||||||
|
public Configuration.Storage Storage { get; }
|
||||||
|
|
||||||
|
public S3UploadGuard(CoreSettings coreSettings, Configuration.Storage storage)
|
||||||
|
{
|
||||||
|
CoreSettings = coreSettings;
|
||||||
|
Storage = storage;
|
||||||
|
}
|
||||||
|
|
||||||
public void DeleteExpiredUploadsAsync(TimeSpan trustInterval)
|
public void DeleteExpiredUploadsAsync(TimeSpan trustInterval)
|
||||||
{
|
{
|
||||||
var task = new Task(() =>
|
var task = new Task(() =>
|
||||||
@ -118,8 +127,7 @@ namespace ASC.Data.Storage.S3
|
|||||||
{
|
{
|
||||||
if (!configured)
|
if (!configured)
|
||||||
{
|
{
|
||||||
var config = CommonServiceProvider.GetService<Configuration.Storage>();
|
var handler = Storage.GetHandler("s3");
|
||||||
var handler = config.GetHandler("s3");
|
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
{
|
{
|
||||||
var props = handler.GetProperties();
|
var props = handler.GetProperties();
|
||||||
@ -128,7 +136,7 @@ namespace ASC.Data.Storage.S3
|
|||||||
secretAccessKey = props["secretaccesskey"];
|
secretAccessKey = props["secretaccesskey"];
|
||||||
region = props["region"];
|
region = props["region"];
|
||||||
}
|
}
|
||||||
configErrors = string.IsNullOrEmpty(CoreContext.Configuration.BaseDomain) //localhost
|
configErrors = string.IsNullOrEmpty(CoreSettings.BaseDomain) //localhost
|
||||||
|| string.IsNullOrEmpty(accessKey)
|
|| string.IsNullOrEmpty(accessKey)
|
||||||
|| string.IsNullOrEmpty(secretAccessKey)
|
|| string.IsNullOrEmpty(secretAccessKey)
|
||||||
|| string.IsNullOrEmpty(bucket)
|
|| string.IsNullOrEmpty(bucket)
|
||||||
|
@ -221,9 +221,8 @@ namespace ASC.Web.Core.Sms
|
|||||||
&& !string.IsNullOrEmpty(Secret);
|
&& !string.IsNullOrEmpty(Secret);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetBalance(bool eraseCache = false)
|
public string GetBalance(Tenant tenant, bool eraseCache = false)
|
||||||
{
|
{
|
||||||
var tenant = CoreContext.TenantManager.GetCurrentTenant(false);
|
|
||||||
var tenantCache = tenant == null ? Tenant.DEFAULT_TENANT : tenant.TenantId;
|
var tenantCache = tenant == null ? Tenant.DEFAULT_TENANT : tenant.TenantId;
|
||||||
|
|
||||||
var key = "sms/smsc/" + tenantCache;
|
var key = "sms/smsc/" + tenantCache;
|
||||||
@ -279,7 +278,7 @@ namespace ASC.Web.Core.Sms
|
|||||||
|
|
||||||
public bool ValidateKeys(AuthContext authContext, TenantUtil tenantUtil, SecurityContext securityContext, TenantManager tenantManager, BaseCommonLinkUtility baseCommonLinkUtility)
|
public bool ValidateKeys(AuthContext authContext, TenantUtil tenantUtil, SecurityContext securityContext, TenantManager tenantManager, BaseCommonLinkUtility baseCommonLinkUtility)
|
||||||
{
|
{
|
||||||
return double.TryParse(GetBalance(true), NumberStyles.Number, CultureInfo.InvariantCulture, out var balance) && balance > 0;
|
return double.TryParse(GetBalance(tenantManager.GetCurrentTenant(false), true), NumberStyles.Number, CultureInfo.InvariantCulture, out var balance) && balance > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user