From 41b4a909cd9b13edc2ea5a83d6930c859b0a9c99 Mon Sep 17 00:00:00 2001 From: pavelbannov Date: Fri, 20 Sep 2019 15:47:00 +0300 Subject: [PATCH] DI: TenantManager --- common/ASC.Core.Common/Data/DbSettingsManager.cs | 15 ++------------- common/ASC.Core.Common/Settings/ISettings.cs | 4 ++-- common/ASC.Data.Storage/S3/S3UploadGuard.cs | 14 +++++++++++--- web/ASC.Web.Core/Sms/SmsProvider.cs | 5 ++--- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/common/ASC.Core.Common/Data/DbSettingsManager.cs b/common/ASC.Core.Common/Data/DbSettingsManager.cs index 0d93871826..17aefbf9df 100644 --- a/common/ASC.Core.Common/Data/DbSettingsManager.cs +++ b/common/ASC.Core.Common/Data/DbSettingsManager.cs @@ -78,31 +78,20 @@ namespace ASC.Core.Data return SaveSettingsFor(settings, tenantId, Guid.Empty); } - public bool SaveSettingsFor(T settings, Guid userId) where T : class, ISettings - { - return SaveSettingsFor(settings, CoreContext.TenantManager.GetCurrentTenant().TenantId, userId); - } - public T LoadSettings(int tenantId) where T : class, ISettings { return LoadSettingsFor(tenantId, Guid.Empty); } - public T LoadSettingsFor(Guid userId) where T : class, ISettings + public void ClearCache(int tenantId) where T : class, ISettings { - return LoadSettingsFor(CoreContext.TenantManager.GetCurrentTenant().TenantId, userId); - } - - public void ClearCache() where T : class, ISettings - { - var tenantId = CoreContext.TenantManager.GetCurrentTenant().TenantId; var settings = LoadSettings(tenantId); var key = settings.ID.ToString() + tenantId + Guid.Empty; notify.Publish(new SettingsCacheItem { Key = key }, CacheNotifyAction.Remove); } - private bool SaveSettingsFor(T settings, int tenantId, Guid userId) where T : ISettings + public bool SaveSettingsFor(T settings, int tenantId, Guid userId) where T : ISettings { if (settings == null) throw new ArgumentNullException("settings"); try diff --git a/common/ASC.Core.Common/Settings/ISettings.cs b/common/ASC.Core.Common/Settings/ISettings.cs index c7e8a9331c..cdcd7b776b 100644 --- a/common/ASC.Core.Common/Settings/ISettings.cs +++ b/common/ASC.Core.Common/Settings/ISettings.cs @@ -99,7 +99,7 @@ namespace ASC.Core.Common.Settings public bool SaveForUser(Guid userId) { - return SettingsManager.SaveSettingsFor(this, userId); + return SettingsManager.SaveSettingsFor(this, TenantID, userId); } public bool SaveForDefaultTenant() @@ -114,7 +114,7 @@ namespace ASC.Core.Common.Settings public void ClearCache() { - SettingsManager.ClearCache(); + SettingsManager.ClearCache(TenantID); } public abstract Guid ID { get; } diff --git a/common/ASC.Data.Storage/S3/S3UploadGuard.cs b/common/ASC.Data.Storage/S3/S3UploadGuard.cs index aa75843107..5229325c5f 100644 --- a/common/ASC.Data.Storage/S3/S3UploadGuard.cs +++ b/common/ASC.Data.Storage/S3/S3UploadGuard.cs @@ -44,6 +44,15 @@ namespace ASC.Data.Storage.S3 private bool configErrors; 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) { var task = new Task(() => @@ -118,8 +127,7 @@ namespace ASC.Data.Storage.S3 { if (!configured) { - var config = CommonServiceProvider.GetService(); - var handler = config.GetHandler("s3"); + var handler = Storage.GetHandler("s3"); if (handler != null) { var props = handler.GetProperties(); @@ -128,7 +136,7 @@ namespace ASC.Data.Storage.S3 secretAccessKey = props["secretaccesskey"]; region = props["region"]; } - configErrors = string.IsNullOrEmpty(CoreContext.Configuration.BaseDomain) //localhost + configErrors = string.IsNullOrEmpty(CoreSettings.BaseDomain) //localhost || string.IsNullOrEmpty(accessKey) || string.IsNullOrEmpty(secretAccessKey) || string.IsNullOrEmpty(bucket) diff --git a/web/ASC.Web.Core/Sms/SmsProvider.cs b/web/ASC.Web.Core/Sms/SmsProvider.cs index 871e565ad9..31f0ebeb60 100644 --- a/web/ASC.Web.Core/Sms/SmsProvider.cs +++ b/web/ASC.Web.Core/Sms/SmsProvider.cs @@ -221,9 +221,8 @@ namespace ASC.Web.Core.Sms && !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 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) { - 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; } }