remove "new TenantQuotaController"
This commit is contained in:
parent
0da6992414
commit
00d5c50c5e
@ -179,7 +179,11 @@ public class StorageFactory
|
|||||||
{
|
{
|
||||||
int.TryParse(tenant, out var tenantId);
|
int.TryParse(tenant, out var tenantId);
|
||||||
|
|
||||||
return GetStorage(configpath, tenant, module, new TenantQuotaController(tenantId, _tenantManager, _authContext, _maxFileSizeChecker, _maxTotalSizeChecker));
|
|
||||||
|
var tenantQuotaController = _serviceProvider.GetService<TenantQuotaController>();
|
||||||
|
tenantQuotaController.Init(tenantId);
|
||||||
|
|
||||||
|
return GetStorage(configpath, tenant, module, tenantQuotaController);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IDataStore GetStorage(string configpath, string tenant, string module, IQuotaController controller)
|
public IDataStore GetStorage(string configpath, string tenant, string module, IQuotaController controller)
|
||||||
@ -226,7 +230,10 @@ public class StorageFactory
|
|||||||
|
|
||||||
int.TryParse(tenant, out var tenantId);
|
int.TryParse(tenant, out var tenantId);
|
||||||
|
|
||||||
return GetDataStore(tenant, module, consumer, new TenantQuotaController(tenantId, _tenantManager, _authContext, _maxFileSizeChecker, _maxTotalSizeChecker));
|
var tenantQuotaController = _serviceProvider.GetService<TenantQuotaController>();
|
||||||
|
tenantQuotaController.Init(tenantId);
|
||||||
|
|
||||||
|
return GetDataStore(tenant, module, consumer, tenantQuotaController);
|
||||||
}
|
}
|
||||||
|
|
||||||
private IDataStore GetDataStore(string tenant, string module, DataStoreConsumer consumer, IQuotaController controller)
|
private IDataStore GetDataStore(string tenant, string module, DataStoreConsumer consumer, IQuotaController controller)
|
||||||
@ -271,5 +278,6 @@ public static class StorageFactoryExtension
|
|||||||
services.TryAdd<GoogleCloudStorage>();
|
services.TryAdd<GoogleCloudStorage>();
|
||||||
services.TryAdd<RackspaceCloudStorage>();
|
services.TryAdd<RackspaceCloudStorage>();
|
||||||
services.TryAdd<S3Storage>();
|
services.TryAdd<S3Storage>();
|
||||||
|
services.TryAdd<TenantQuotaController>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
namespace ASC.Data.Storage;
|
namespace ASC.Data.Storage;
|
||||||
|
|
||||||
|
[Transient]
|
||||||
public class TenantQuotaController : IQuotaController
|
public class TenantQuotaController : IQuotaController
|
||||||
{
|
{
|
||||||
private long CurrentSize
|
private long CurrentSize
|
||||||
@ -42,24 +43,28 @@ public class TenantQuotaController : IQuotaController
|
|||||||
set => _currentSize = value;
|
set => _currentSize = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly int _tenant;
|
private int _tenant;
|
||||||
private readonly TenantManager _tenantManager;
|
private readonly TenantManager _tenantManager;
|
||||||
private readonly AuthContext _authContext;
|
private readonly AuthContext _authContext;
|
||||||
private readonly TenantQuotaFeatureChecker<MaxFileSizeFeature, long> _maxFileSizeChecker;
|
private readonly TenantQuotaFeatureChecker<MaxFileSizeFeature, long> _maxFileSizeChecker;
|
||||||
private readonly TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> _maxTotalSizeChecker;
|
private readonly TenantQuotaFeatureChecker<MaxTotalSizeFeature, long> _maxTotalSizeChecker;
|
||||||
private readonly Lazy<long> _lazyCurrentSize;
|
private Lazy<long> _lazyCurrentSize;
|
||||||
private long _currentSize;
|
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;
|
_tenantManager = tenantManager;
|
||||||
_maxFileSizeChecker = maxFileSizeChecker;
|
_maxFileSizeChecker = maxFileSizeChecker;
|
||||||
_maxTotalSizeChecker = maxTotalSizeChecker;
|
_maxTotalSizeChecker = maxTotalSizeChecker;
|
||||||
|
_authContext = authContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(int tenant)
|
||||||
|
{
|
||||||
|
_tenant = tenant;
|
||||||
_lazyCurrentSize = new Lazy<long>(() => _tenantManager.FindTenantQuotaRows(tenant)
|
_lazyCurrentSize = new Lazy<long>(() => _tenantManager.FindTenantQuotaRows(tenant)
|
||||||
.Where(r => UsedInQuota(r.Tag))
|
.Where(r => UsedInQuota(r.Tag))
|
||||||
.Sum(r => r.Counter));
|
.Sum(r => r.Counter));
|
||||||
_authContext = authContext;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void QuotaUsedAdd(string module, string domain, string dataTag, long size, bool quotaCheckFileSize = true)
|
public void QuotaUsedAdd(string module, string domain, string dataTag, long size, bool quotaCheckFileSize = true)
|
||||||
|
Loading…
Reference in New Issue
Block a user