using Tiku.Application.Commerce; using Tiku.Application.Jobs; using Tiku.Application.Security; using Tiku.Application.Tenancy; using Tiku.Infrastructure.Persistence; namespace Tiku.Infrastructure.Commerce; internal sealed record CommerceAdministrationDependencies( ICommercePersistence CommercePersistence, IPointsPersistence PointsPersistence, ICatalogPersistence CatalogPersistence, IIdentityPersistence IdentityPersistence, ITenancyPersistence TenancyPersistence, IJobsOperationsPersistence JobsOperationsPersistence, ITenantSecretProtector TenantSecretProtector, ITenantExternalProviderConfigService ProviderConfigService, ICurrentAccessContext CurrentAccessContext, IBackgroundJobQueue BackgroundJobQueue, IBackgroundJobOperations BackgroundJobOperations); internal abstract partial class CommerceAdministrationServiceBase(CommerceAdministrationDependencies dependencies) { protected ICommercePersistence commercePersistence { get; } = dependencies.CommercePersistence; protected IPointsPersistence pointsPersistence { get; } = dependencies.PointsPersistence; protected ICatalogPersistence catalogPersistence { get; } = dependencies.CatalogPersistence; protected IIdentityPersistence identityPersistence { get; } = dependencies.IdentityPersistence; protected ITenancyPersistence tenancyPersistence { get; } = dependencies.TenancyPersistence; protected IJobsOperationsPersistence jobsOperationsPersistence { get; } = dependencies.JobsOperationsPersistence; protected IModulePersistence unitOfWork { get; } = dependencies.CommercePersistence; protected ITenantSecretProtector tenantSecretProtector { get; } = dependencies.TenantSecretProtector; protected ITenantExternalProviderConfigService providerConfigService { get; } = dependencies.ProviderConfigService; protected ICurrentAccessContext currentAccessContext { get; } = dependencies.CurrentAccessContext; protected IBackgroundJobQueue backgroundJobQueue { get; } = dependencies.BackgroundJobQueue; protected IBackgroundJobOperations backgroundJobOperations { get; } = dependencies.BackgroundJobOperations; }