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;

public sealed partial class AssetManagementService(
    TikuDbContext dbContext,
    IObjectStorageService objectStorageService,
    ITenantExternalProviderConfigService providerConfigService,
    IFeatureAccessService featureAccessService,
    IBackgroundJobQueue backgroundJobService) : IAssetManagementService
{
    private const int DefaultLimit = 100;
    private const int MaxLimit = 500;
    private static readonly TimeSpan DefaultUploadTtl = TimeSpan.FromMinutes(15);
    private static readonly TimeSpan MaxUploadTtl = TimeSpan.FromHours(1);
}