31 lines
1.6 KiB
C#
31 lines
1.6 KiB
C#
using Tiku.Application.Assets;
|
|
using Tiku.Application.Jobs;
|
|
using Tiku.Application.Security;
|
|
using Tiku.Application.Storage;
|
|
using Tiku.Application.Tenancy;
|
|
using Tiku.Infrastructure.Persistence;
|
|
|
|
namespace Tiku.Infrastructure.Assets;
|
|
|
|
internal sealed record AssetManagementDependencies(
|
|
IContentAssetPersistence ContentAssetPersistence,
|
|
IQuestionBankPersistence QuestionBankPersistence,
|
|
IObjectStorageService ObjectStorageService,
|
|
ITenantExternalProviderConfigService ProviderConfigService,
|
|
IFeatureAccessService FeatureAccessService,
|
|
IBackgroundJobQueue BackgroundJobService);
|
|
|
|
internal abstract partial class AssetManagementServiceBase(AssetManagementDependencies dependencies)
|
|
{
|
|
protected IContentAssetPersistence contentAssetPersistence { get; } = dependencies.ContentAssetPersistence;
|
|
protected IQuestionBankPersistence questionBankPersistence { get; } = dependencies.QuestionBankPersistence;
|
|
protected IObjectStorageService objectStorageService { get; } = dependencies.ObjectStorageService;
|
|
protected ITenantExternalProviderConfigService providerConfigService { get; } = dependencies.ProviderConfigService;
|
|
protected IFeatureAccessService featureAccessService { get; } = dependencies.FeatureAccessService;
|
|
protected IBackgroundJobQueue backgroundJobService { get; } = dependencies.BackgroundJobService;
|
|
protected const int DefaultLimit = 100;
|
|
protected const int MaxLimit = 500;
|
|
protected static readonly TimeSpan DefaultUploadTtl = TimeSpan.FromMinutes(15);
|
|
protected static readonly TimeSpan MaxUploadTtl = TimeSpan.FromHours(1);
|
|
}
|