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( TikuDbContext DbContext, ITenantSecretProtector TenantSecretProtector, ITenantExternalProviderConfigService ProviderConfigService, ICurrentAccessContext CurrentAccessContext, IBackgroundJobQueue BackgroundJobQueue, IBackgroundJobOperations BackgroundJobOperations); internal abstract partial class CommerceAdministrationServiceBase(CommerceAdministrationDependencies dependencies) { protected TikuDbContext dbContext { get; } = dependencies.DbContext; 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; }