Merge branch 'develop' into feature/whitelabel
This commit is contained in:
commit
7dc46f7fb0
@ -388,7 +388,7 @@ public class BackupAjaxHandler
|
||||
|
||||
public string GetTmpFilePath()
|
||||
{
|
||||
var discStore = _storageFactory.GetStorage("", _tenantManager.GetCurrentTenant().Id.ToString(), BackupTempModule, null) as DiscDataStore;
|
||||
var discStore = _storageFactory.GetStorage("", _tenantManager.GetCurrentTenant().Id, BackupTempModule, null) as DiscDataStore;
|
||||
var folder = discStore.GetPhysicalPath("", "");
|
||||
|
||||
if (!Directory.Exists(folder))
|
||||
|
@ -68,7 +68,7 @@ public class FileBackupProvider : IBackupProvider
|
||||
var backupPath = GetBackupPath(file);
|
||||
if (!backupKeys.Contains(backupPath))
|
||||
{
|
||||
var storage = _storageFactory.GetStorage(config, tenant.ToString(), file.Module);
|
||||
var storage = _storageFactory.GetStorage(config, tenant, file.Module);
|
||||
var errors = 0;
|
||||
while (true)
|
||||
{
|
||||
@ -111,7 +111,7 @@ public class FileBackupProvider : IBackupProvider
|
||||
{
|
||||
using (var entry = dataOperator.GetEntry(GetBackupPath(backupInfo)))
|
||||
{
|
||||
var storage = _storageFactory.GetStorage(config, tenant.ToString(), backupInfo.Module, null);
|
||||
var storage = _storageFactory.GetStorage(config, tenant, backupInfo.Module, null);
|
||||
try
|
||||
{
|
||||
storage.SaveAsync(backupInfo.Domain, backupInfo.Path, entry).Wait();
|
||||
@ -133,7 +133,7 @@ public class FileBackupProvider : IBackupProvider
|
||||
{
|
||||
if (_allowedModules.Contains(module))
|
||||
{
|
||||
var store = _storageFactory.GetStorage(config, tenant.ToString(), module);
|
||||
var store = _storageFactory.GetStorage(config, tenant, module);
|
||||
var domainList = _storageFactoryConfig.GetDomainList(config, module);
|
||||
|
||||
foreach (var domain in domainList)
|
||||
|
@ -81,6 +81,6 @@ public class DataStoreBackupStorage : IBackupStorage
|
||||
|
||||
protected virtual IDataStore GetDataStore()
|
||||
{
|
||||
return _storageFactory.GetStorage(_webConfigPath, _tenant.ToString(), "backup", null);
|
||||
return _storageFactory.GetStorage(_webConfigPath, _tenant, "backup", null);
|
||||
}
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ public class DocumentsBackupStorage : IBackupStorage
|
||||
{
|
||||
// hack: create storage using webConfigPath and put it into DataStoreCache
|
||||
// FileDao will use this storage and will not try to create the new one from service config
|
||||
_storageFactory.GetStorage(_webConfigPath, _tenantId.ToString(), "files");
|
||||
_storageFactory.GetStorage(_webConfigPath, _tenantId, "files");
|
||||
return _daoFactory.GetFileDao<T>();
|
||||
}
|
||||
}
|
||||
|
@ -574,7 +574,7 @@ public class BackupPortalTask : PortalTaskBase
|
||||
|
||||
private async Task DoDumpFile(BackupFileInfo file, string dir)
|
||||
{
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, file.Tenant.ToString(), file.Module);
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, file.Tenant, file.Module);
|
||||
var filePath = CrossPlatform.PathCombine(dir, file.GetZipKey());
|
||||
var dirName = Path.GetDirectoryName(filePath);
|
||||
|
||||
@ -708,7 +708,7 @@ public class BackupPortalTask : PortalTaskBase
|
||||
|
||||
foreach (var file in group)
|
||||
{
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, TenantId.ToString(), group.Key);
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, TenantId, group.Key);
|
||||
var file1 = file;
|
||||
ActionInvoker.Try(state =>
|
||||
{
|
||||
|
@ -91,7 +91,7 @@ public class DeletePortalTask : PortalTaskBase
|
||||
var modulesProcessed = 0;
|
||||
foreach (var module in storageModules)
|
||||
{
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, TenantId.ToString(), module);
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, TenantId, module);
|
||||
var domains = StorageFactoryConfig.GetDomainList(ConfigPath, module);
|
||||
foreach (var domain in domains)
|
||||
{
|
||||
|
@ -97,7 +97,7 @@ public abstract class PortalTaskBase
|
||||
var files = new List<BackupFileInfo>();
|
||||
foreach (var module in StorageFactoryConfig.GetModuleList(ConfigPath).Where(IsStorageModuleAllowed))
|
||||
{
|
||||
var store = StorageFactory.GetStorage(ConfigPath, tenantId.ToString(), module);
|
||||
var store = StorageFactory.GetStorage(ConfigPath, tenantId, module);
|
||||
var domains = StorageFactoryConfig.GetDomainList(ConfigPath, module).ToArray();
|
||||
|
||||
foreach (var domain in domains)
|
||||
|
@ -353,7 +353,7 @@ public class RestorePortalTask : PortalTaskBase
|
||||
{
|
||||
foreach (var file in group)
|
||||
{
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, Dump ? file.Tenant.ToString() : _columnMapper.GetTenantMapping().ToString(), group.Key);
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, Dump ? file.Tenant : _columnMapper.GetTenantMapping(), group.Key);
|
||||
var quotaController = storage.QuotaController;
|
||||
storage.SetQuotaController(null);
|
||||
|
||||
@ -407,7 +407,7 @@ public class RestorePortalTask : PortalTaskBase
|
||||
{
|
||||
foreach (var module in storageModules)
|
||||
{
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, tenant.Id.ToString(), module);
|
||||
var storage = StorageFactory.GetStorage(ConfigPath, tenant.Id, module);
|
||||
var domains = StorageFactoryConfig.GetDomainList(ConfigPath, module).ToList();
|
||||
|
||||
domains.Add(string.Empty); //instead storage.DeleteFiles("\\", "*.*", true);
|
||||
|
@ -160,8 +160,8 @@ public class TransferPortalTask : PortalTaskBase
|
||||
var groupsProcessed = 0;
|
||||
foreach (var group in fileGroups)
|
||||
{
|
||||
var baseStorage = StorageFactory.GetStorage(ConfigPath, TenantId.ToString(), group.Key);
|
||||
var destStorage = StorageFactory.GetStorage(ToConfigPath, columnMapper.GetTenantMapping().ToString(), group.Key);
|
||||
var baseStorage = StorageFactory.GetStorage(ConfigPath, TenantId, group.Key);
|
||||
var destStorage = StorageFactory.GetStorage(ToConfigPath, columnMapper.GetTenantMapping(), group.Key);
|
||||
var utility = new CrossModuleTransferUtility(_logger, _tempStream, _tempPath, baseStorage, destStorage);
|
||||
|
||||
foreach (var file in group)
|
||||
|
@ -37,7 +37,7 @@ static class FCKEditorPathUtility
|
||||
return content;
|
||||
}
|
||||
|
||||
var tenantPath = "/" + TenantPath.CreatePath(tenant.ToString()) + "/";
|
||||
var tenantPath = "/" + TenantPath.CreatePath(tenant) + "/";
|
||||
|
||||
return _regex.Replace(content, (m) => m.Success ? m.Groups["start"] + tenantPath : string.Empty);
|
||||
}
|
||||
|
@ -207,7 +207,7 @@ public class RemoveProgressItem : DistributedTaskProgress
|
||||
|
||||
var md5Hash = sBuilder.ToString();
|
||||
|
||||
var storage = storageFactory.GetStorage(_tenantId.ToString(CultureInfo.InvariantCulture), "talk");
|
||||
var storage = storageFactory.GetStorage(_tenantId, "talk");
|
||||
|
||||
if (storage != null && storage.IsDirectoryAsync(md5Hash).Result)
|
||||
{
|
||||
|
@ -229,8 +229,7 @@ public class StorageSettingsHelper
|
||||
|
||||
internal void ClearDataStoreCache()
|
||||
{
|
||||
var tenantId = _tenantManager.GetCurrentTenant().Id.ToString();
|
||||
var path = TenantPath.CreatePath(tenantId);
|
||||
var path = TenantPath.CreatePath(_tenantManager.GetCurrentTenant().Id);
|
||||
|
||||
foreach (var module in _storageFactoryConfig.GetModuleList("", true))
|
||||
{
|
||||
|
@ -92,7 +92,7 @@ public class EncryptionOperation : DistributedTaskProgress
|
||||
|
||||
foreach (var module in _modules)
|
||||
{
|
||||
dictionary.Add(module, (DiscDataStore)storageFactory.GetStorage(ConfigPath, tenant.Id.ToString(), module));
|
||||
dictionary.Add(module, (DiscDataStore)storageFactory.GetStorage(ConfigPath, tenant.Id, module));
|
||||
}
|
||||
|
||||
Parallel.ForEach(dictionary, (elem) =>
|
||||
@ -256,7 +256,7 @@ public class EncryptionOperation : DistributedTaskProgress
|
||||
{
|
||||
foreach (var module in _modules)
|
||||
{
|
||||
var store = (DiscDataStore)storageFactory.GetStorage(ConfigPath, tenant.Id.ToString(), module);
|
||||
var store = (DiscDataStore)storageFactory.GetStorage(ConfigPath, tenant.Id, module);
|
||||
|
||||
if (await store.IsFileAsync(string.Empty, ProgressFileName))
|
||||
{
|
||||
|
@ -138,12 +138,7 @@ public class StorageFactory
|
||||
private readonly StorageFactoryConfig _storageFactoryConfig;
|
||||
private readonly SettingsManager _settingsManager;
|
||||
private readonly StorageSettingsHelper _storageSettingsHelper;
|
||||
private readonly TenantManager _tenantManager;
|
||||
private readonly UserManager _userManager;
|
||||
private readonly AuthContext _authContext;
|
||||
private readonly CoreBaseSettings _coreBaseSettings;
|
||||
private readonly TenantQuotaFeatureChecker<MaxFileSizeFeature, long> _maxFileSizeChecker;
|
||||
private readonly TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> _maxTotalSizeChecker;
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
public StorageFactory(
|
||||
@ -151,51 +146,33 @@ public class StorageFactory
|
||||
StorageFactoryConfig storageFactoryConfig,
|
||||
SettingsManager settingsManager,
|
||||
StorageSettingsHelper storageSettingsHelper,
|
||||
TenantManager tenantManager,
|
||||
UserManager userManager,
|
||||
AuthContext authContext,
|
||||
CoreBaseSettings coreBaseSettings,
|
||||
TenantQuotaFeatureChecker<MaxFileSizeFeature, long> maxFileSizeChecker,
|
||||
TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> maxTotalSizeChecker)
|
||||
CoreBaseSettings coreBaseSettings)
|
||||
{
|
||||
_serviceProvider = serviceProvider;
|
||||
_storageFactoryConfig = storageFactoryConfig;
|
||||
_settingsManager = settingsManager;
|
||||
_storageSettingsHelper = storageSettingsHelper;
|
||||
_tenantManager = tenantManager;
|
||||
_userManager = userManager;
|
||||
_authContext = authContext;
|
||||
_coreBaseSettings = coreBaseSettings;
|
||||
_maxFileSizeChecker = maxFileSizeChecker;
|
||||
_maxTotalSizeChecker = maxTotalSizeChecker;
|
||||
}
|
||||
|
||||
public IDataStore GetStorage(string tenant, string module)
|
||||
public IDataStore GetStorage(int? tenant, string module)
|
||||
{
|
||||
return GetStorage(string.Empty, tenant, module);
|
||||
}
|
||||
|
||||
public IDataStore GetStorage(string configpath, string tenant, string module)
|
||||
public IDataStore GetStorage(string configpath, int? tenant, string module)
|
||||
{
|
||||
int.TryParse(tenant, out var tenantId);
|
||||
var tenantQuotaController = _serviceProvider.GetService<TenantQuotaController>();
|
||||
tenantQuotaController.Init(tenant.GetValueOrDefault());
|
||||
|
||||
return GetStorage(configpath, tenant, module, new TenantQuotaController(tenantId, _tenantManager, _authContext, _maxFileSizeChecker, _maxTotalSizeChecker));
|
||||
return GetStorage(configpath, tenant, module, tenantQuotaController);
|
||||
}
|
||||
|
||||
public IDataStore GetStorage(string configpath, string tenant, string module, IQuotaController controller)
|
||||
public IDataStore GetStorage(string configpath, int? tenant, string module, IQuotaController controller)
|
||||
{
|
||||
var tenantId = -2;
|
||||
if (string.IsNullOrEmpty(tenant))
|
||||
{
|
||||
tenant = DefaultTenantName;
|
||||
}
|
||||
else
|
||||
{
|
||||
tenantId = Convert.ToInt32(tenant);
|
||||
}
|
||||
var tenantPath = tenant != null ? TenantPath.CreatePath(tenant.Value) : TenantPath.CreatePath(DefaultTenantName);
|
||||
|
||||
//Make tennant path
|
||||
tenant = TenantPath.CreatePath(tenant);
|
||||
tenant = tenant ?? -2;
|
||||
|
||||
var section = _storageFactoryConfig.Section;
|
||||
if (section == null)
|
||||
@ -203,20 +180,14 @@ public class StorageFactory
|
||||
throw new InvalidOperationException("config section not found");
|
||||
}
|
||||
|
||||
var settings = _settingsManager.LoadForTenant<StorageSettings>(tenantId);
|
||||
var settings = _settingsManager.LoadForTenant<StorageSettings>(tenant.Value);
|
||||
//TODO:GetStoreAndCache
|
||||
return GetDataStore(tenant, module, _storageSettingsHelper.DataStoreConsumer(settings), controller);
|
||||
return GetDataStore(tenantPath, module, _storageSettingsHelper.DataStoreConsumer(settings), controller);
|
||||
}
|
||||
|
||||
public IDataStore GetStorageFromConsumer(string configpath, string tenant, string module, DataStoreConsumer consumer)
|
||||
public IDataStore GetStorageFromConsumer(string configpath, int? tenant, string module, DataStoreConsumer consumer)
|
||||
{
|
||||
if (tenant == null)
|
||||
{
|
||||
tenant = DefaultTenantName;
|
||||
}
|
||||
|
||||
//Make tennant path
|
||||
tenant = TenantPath.CreatePath(tenant);
|
||||
var tenantPath = tenant != null ? TenantPath.CreatePath(tenant.Value) : TenantPath.CreatePath(DefaultTenantName);
|
||||
|
||||
var section = _storageFactoryConfig.Section;
|
||||
if (section == null)
|
||||
@ -224,12 +195,13 @@ public class StorageFactory
|
||||
throw new InvalidOperationException("config section not found");
|
||||
}
|
||||
|
||||
int.TryParse(tenant, out var tenantId);
|
||||
var tenantQuotaController = _serviceProvider.GetService<TenantQuotaController>();
|
||||
tenantQuotaController.Init(tenant.GetValueOrDefault());
|
||||
|
||||
return GetDataStore(tenant, module, consumer, new TenantQuotaController(tenantId, _tenantManager, _authContext, _maxFileSizeChecker, _maxTotalSizeChecker));
|
||||
return GetDataStore(tenantPath, module, consumer, tenantQuotaController);
|
||||
}
|
||||
|
||||
private IDataStore GetDataStore(string tenant, string module, DataStoreConsumer consumer, IQuotaController controller)
|
||||
private IDataStore GetDataStore(string tenantPath, string module, DataStoreConsumer consumer, IQuotaController controller)
|
||||
{
|
||||
var storage = _storageFactoryConfig.Section;
|
||||
var moduleElement = storage.GetModuleElement(module);
|
||||
@ -257,7 +229,7 @@ public class StorageFactory
|
||||
|
||||
|
||||
return ((IDataStore)ActivatorUtilities.CreateInstance(_serviceProvider, instanceType))
|
||||
.Configure(tenant, handler, moduleElement, props)
|
||||
.Configure(tenantPath, handler, moduleElement, props)
|
||||
.SetQuotaController(moduleElement.Count ? controller : null
|
||||
/*don't count quota if specified on module*/);
|
||||
}
|
||||
@ -271,5 +243,6 @@ public static class StorageFactoryExtension
|
||||
services.TryAdd<GoogleCloudStorage>();
|
||||
services.TryAdd<RackspaceCloudStorage>();
|
||||
services.TryAdd<S3Storage>();
|
||||
services.TryAdd<TenantQuotaController>();
|
||||
}
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ public class StorageHandler
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
var storage = storageFactory.GetStorage(tenantManager.GetCurrentTenant().Id.ToString(CultureInfo.InvariantCulture), _module);
|
||||
var storage = storageFactory.GetStorage(tenantManager.GetCurrentTenant().Id, _module);
|
||||
var path = CrossPlatform.PathCombine(_path, GetRouteValue("pathInfo", context).Replace('/', Path.DirectorySeparatorChar));
|
||||
var header = context.Request.Query[Constants.QueryHeader].FirstOrDefault() ?? "";
|
||||
|
||||
|
@ -159,8 +159,8 @@ public class MigrateOperation : DistributedTaskProgress
|
||||
|
||||
foreach (var module in _modules)
|
||||
{
|
||||
var oldStore = storageFactory.GetStorage(_configPath, _tenantId.ToString(), module);
|
||||
var store = storageFactory.GetStorageFromConsumer(_configPath, _tenantId.ToString(), module, storageSettingsHelper.DataStoreConsumer(_settings));
|
||||
var oldStore = storageFactory.GetStorage(_configPath, _tenantId, module);
|
||||
var store = storageFactory.GetStorageFromConsumer(_configPath, _tenantId, module, storageSettingsHelper.DataStoreConsumer(_settings));
|
||||
var domains = _storageFactoryConfig.GetDomainList(_configPath, module).ToList();
|
||||
|
||||
var crossModuleTransferUtility = new CrossModuleTransferUtility(options, _tempStream, tempPath, oldStore, store);
|
||||
|
@ -42,6 +42,13 @@ public static class TenantPath
|
||||
return tenant;
|
||||
}
|
||||
|
||||
public static string CreatePath(int tenant)
|
||||
{
|
||||
var culture = CultureInfo.InvariantCulture;
|
||||
|
||||
return tenant == 0 ? tenant.ToString(culture) : tenant.ToString("00/00/00", culture);
|
||||
}
|
||||
|
||||
public static bool TryGetTenant(string tenantPath, out int tenant)
|
||||
{
|
||||
tenantPath = tenantPath.Replace("/", "");
|
||||
|
@ -26,6 +26,7 @@
|
||||
|
||||
namespace ASC.Data.Storage;
|
||||
|
||||
[Transient]
|
||||
public class TenantQuotaController : IQuotaController
|
||||
{
|
||||
private long CurrentSize
|
||||
@ -42,24 +43,28 @@ public class TenantQuotaController : IQuotaController
|
||||
set => _currentSize = value;
|
||||
}
|
||||
|
||||
private readonly int _tenant;
|
||||
private int _tenant;
|
||||
private readonly TenantManager _tenantManager;
|
||||
private readonly AuthContext _authContext;
|
||||
private readonly TenantQuotaFeatureChecker<MaxFileSizeFeature, long> _maxFileSizeChecker;
|
||||
private readonly TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> _maxTotalSizeChecker;
|
||||
private readonly Lazy<long> _lazyCurrentSize;
|
||||
private Lazy<long> _lazyCurrentSize;
|
||||
private long _currentSize;
|
||||
|
||||
public TenantQuotaController(int tenant, TenantManager tenantManager, AuthContext authContext, TenantQuotaFeatureChecker<MaxFileSizeFeature, long> maxFileSizeChecker, TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> maxTotalSizeChecker)
|
||||
public TenantQuotaController(TenantManager tenantManager, AuthContext authContext, TenantQuotaFeatureChecker<MaxFileSizeFeature, long> maxFileSizeChecker, TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> maxTotalSizeChecker)
|
||||
{
|
||||
_tenant = tenant;
|
||||
_tenantManager = tenantManager;
|
||||
_maxFileSizeChecker = maxFileSizeChecker;
|
||||
_maxTotalSizeChecker = maxTotalSizeChecker;
|
||||
_authContext = authContext;
|
||||
}
|
||||
|
||||
public void Init(int tenant)
|
||||
{
|
||||
_tenant = tenant;
|
||||
_lazyCurrentSize = new Lazy<long>(() => _tenantManager.FindTenantQuotaRows(tenant)
|
||||
.Where(r => UsedInQuota(r.Tag))
|
||||
.Sum(r => r.Counter));
|
||||
_authContext = authContext;
|
||||
}
|
||||
|
||||
public void QuotaUsedAdd(string module, string domain, string dataTag, long size, bool quotaCheckFileSize = true)
|
||||
|
@ -52,10 +52,11 @@ const IntegrationWrapper = (props) => {
|
||||
}
|
||||
|
||||
const load = async () => {
|
||||
await loadBaseInfo();
|
||||
const path = location.pathname;
|
||||
const currentTab = data.findIndex((item) => path.includes(item.id));
|
||||
if (currentTab !== -1) setCurrentTab(currentTab);
|
||||
|
||||
await loadBaseInfo();
|
||||
setIsLoading(true);
|
||||
};
|
||||
|
||||
|
@ -96,12 +96,12 @@ namespace ASC.Web.CRM.Classes
|
||||
|
||||
public IDataStore GetStore()
|
||||
{
|
||||
return _storageFactory.GetStorage(_tenantID.ToString(), "crm");
|
||||
return _storageFactory.GetStorage(_tenantID, "crm");
|
||||
}
|
||||
|
||||
public IDataStore GetStoreTemplate()
|
||||
{
|
||||
return _storageFactory.GetStorage(String.Empty, "crm_template");
|
||||
return _storageFactory.GetStorage(null, "crm_template");
|
||||
}
|
||||
|
||||
public bool CanCreateProjects()
|
||||
|
@ -64,7 +64,7 @@ public class RoomLogoManager
|
||||
}
|
||||
|
||||
public bool EnableAudit { get; set; } = true;
|
||||
private IDataStore DataStore => _dataStore ??= _storageFactory.GetStorage(TenantId.ToString(), ModuleName);
|
||||
private IDataStore DataStore => _dataStore ??= _storageFactory.GetStorage(TenantId, ModuleName);
|
||||
private int TenantId => _tenantManager.GetCurrentTenant().Id;
|
||||
private IDictionary<string, StringValues> Headers => _httpContextAccessor?.HttpContext?.Request?.Headers;
|
||||
|
||||
|
@ -238,12 +238,12 @@ public class GlobalStore
|
||||
|
||||
public IDataStore GetStore(bool currentTenant = true)
|
||||
{
|
||||
return _storageFactory.GetStorage(currentTenant ? _tenantManager.GetCurrentTenant().Id.ToString() : string.Empty, FileConstant.StorageModule);
|
||||
return _storageFactory.GetStorage(currentTenant ? _tenantManager.GetCurrentTenant().Id : null, FileConstant.StorageModule);
|
||||
}
|
||||
|
||||
public IDataStore GetStoreTemplate()
|
||||
{
|
||||
return _storageFactory.GetStorage(string.Empty, FileConstant.StorageTemplate);
|
||||
return _storageFactory.GetStorage(null, FileConstant.StorageTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,7 +155,7 @@ public class StorageHelper
|
||||
|
||||
try
|
||||
{
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(CultureInfo.InvariantCulture), StorageName);
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, StorageName);
|
||||
|
||||
var fileName = Path.GetFileName(logoPath);
|
||||
|
||||
@ -172,7 +172,7 @@ public class StorageHelper
|
||||
|
||||
private string SaveLogo(string fileName, byte[] data)
|
||||
{
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(CultureInfo.InvariantCulture), StorageName);
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, StorageName);
|
||||
|
||||
using var stream = new MemoryStream(data);
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
@ -125,7 +125,7 @@ public class QuotaSyncJob : DistributedTaskProgress
|
||||
|
||||
foreach (var module in storageModules)
|
||||
{
|
||||
var storage = _storageFactory.GetStorage(TenantId.ToString(), module);
|
||||
var storage = _storageFactory.GetStorage(TenantId, module);
|
||||
storage.ResetQuotaAsync("").Wait();
|
||||
|
||||
var domains = _storageFactoryConfig.GetDomainList(string.Empty, module);
|
||||
|
@ -130,7 +130,7 @@ public class UserPhotoManagerCache
|
||||
scope.ServiceProvider.GetRequiredService<TenantManager>().SetCurrentTenant(data.TenantId);
|
||||
var storageFactory = scope.ServiceProvider.GetRequiredService<StorageFactory>();
|
||||
|
||||
var storage = storageFactory.GetStorage(data.TenantId.ToString(), "userPhotos");
|
||||
var storage = storageFactory.GetStorage(data.TenantId, "userPhotos");
|
||||
|
||||
try
|
||||
{
|
||||
@ -905,7 +905,7 @@ public class UserPhotoManager
|
||||
private IDataStore _dataStore;
|
||||
private IDataStore GetDataStore()
|
||||
{
|
||||
return _dataStore ??= _storageFactory.GetStorage(Tenant.Id.ToString(), "userPhotos");
|
||||
return _dataStore ??= _storageFactory.GetStorage(Tenant.Id, "userPhotos");
|
||||
}
|
||||
|
||||
public static CacheSize ToCache(Size size)
|
||||
|
@ -89,7 +89,7 @@ public class TenantInfoSettingsHelper
|
||||
{
|
||||
tenantInfoSettings.IsDefault = true;
|
||||
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(), "logo");
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, "logo");
|
||||
try
|
||||
{
|
||||
store.DeleteFilesAsync("", "*", false).Wait();
|
||||
@ -104,7 +104,7 @@ public class TenantInfoSettingsHelper
|
||||
|
||||
public void SetCompanyLogo(string companyLogoFileName, byte[] data, TenantInfoSettings tenantInfoSettings, TenantLogoManager tenantLogoManager)
|
||||
{
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(), "logo");
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, "logo");
|
||||
|
||||
if (!tenantInfoSettings.IsDefault)
|
||||
{
|
||||
@ -136,7 +136,7 @@ public class TenantInfoSettingsHelper
|
||||
return _webImageSupplier.GetAbsoluteWebPath("logo/dark_general.png");
|
||||
}
|
||||
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(), "logo");
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, "logo");
|
||||
return store.GetUriAsync(tenantInfoSettings.CompanyLogoFileName ?? "").Result.ToString();
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ public class TenantInfoSettingsHelper
|
||||
return null;
|
||||
}
|
||||
|
||||
var storage = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(CultureInfo.InvariantCulture), "logo");
|
||||
var storage = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, "logo");
|
||||
|
||||
if (storage == null)
|
||||
{
|
||||
|
@ -302,7 +302,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
|
||||
tenantWhiteLabelSettings.SetLogoText(null);
|
||||
|
||||
var store = storage ?? _storageFactory.GetStorage(tenantId.ToString(), ModuleName);
|
||||
var store = storage ?? _storageFactory.GetStorage(tenantId, ModuleName);
|
||||
|
||||
try
|
||||
{
|
||||
@ -323,7 +323,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
try
|
||||
{
|
||||
tenantWhiteLabelSettings.SetIsDefault(type, true);
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(), ModuleName);
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName);
|
||||
DeleteLogoFromStore(tenantWhiteLabelSettings, store, type);
|
||||
}
|
||||
catch (Exception e)
|
||||
@ -339,7 +339,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
|
||||
public void SetLogo(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, string logoFileExt, byte[] data, IDataStore storage = null)
|
||||
{
|
||||
var store = storage ?? _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(), ModuleName);
|
||||
var store = storage ?? _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName);
|
||||
|
||||
#region delete from storage if already exists
|
||||
|
||||
@ -447,7 +447,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
|
||||
private string GetAbsoluteStorageLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool general)
|
||||
{
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(), ModuleName);
|
||||
var store = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName);
|
||||
var fileName = BuildLogoFileName(type, tenantWhiteLabelSettings.GetExt(type), general);
|
||||
|
||||
if (store.IsFileAsync(fileName).Result)
|
||||
@ -487,7 +487,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
return null;
|
||||
}
|
||||
|
||||
var partnerStorage = _storageFactory.GetStorage(string.Empty, "static_partnerdata");
|
||||
var partnerStorage = _storageFactory.GetStorage(null, "static_partnerdata");
|
||||
|
||||
if (partnerStorage == null)
|
||||
{
|
||||
@ -518,7 +518,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
|
||||
private Stream GetStorageLogoData(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool general)
|
||||
{
|
||||
var storage = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id.ToString(CultureInfo.InvariantCulture), ModuleName);
|
||||
var storage = _storageFactory.GetStorage(_tenantManager.GetCurrentTenant().Id, ModuleName);
|
||||
|
||||
if (storage == null)
|
||||
{
|
||||
@ -539,7 +539,7 @@ public class TenantWhiteLabelSettingsHelper
|
||||
return null;
|
||||
}
|
||||
|
||||
var partnerStorage = _storageFactory.GetStorage(string.Empty, "static_partnerdata");
|
||||
var partnerStorage = _storageFactory.GetStorage(null, "static_partnerdata");
|
||||
|
||||
if (partnerStorage == null)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user