diff --git a/app/common/billing.go b/app/common/billing.go index d1e8f5bf2..bf6306942 100644 --- a/app/common/billing.go +++ b/app/common/billing.go @@ -7,7 +7,6 @@ import ( "github.com/openmeterio/openmeter/app/config" "github.com/openmeterio/openmeter/openmeter/app" - appstripe "github.com/openmeterio/openmeter/openmeter/app/stripe" "github.com/openmeterio/openmeter/openmeter/billing" billingadapter "github.com/openmeterio/openmeter/openmeter/billing/adapter" billingservice "github.com/openmeterio/openmeter/openmeter/billing/service" @@ -41,7 +40,6 @@ func BillingService( logger *slog.Logger, db *entdb.Client, appService app.Service, - appStripeService appstripe.Service, billingAdapter billing.Adapter, billingConfig config.BillingConfiguration, customerService customer.Service, diff --git a/cmd/billing-worker/wire_gen.go b/cmd/billing-worker/wire_gen.go index 160133233..98117fa8e 100644 --- a/cmd/billing-worker/wire_gen.go +++ b/cmd/billing-worker/wire_gen.go @@ -148,6 +148,16 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } + adapter, err := common.BillingAdapter(logger, client) + if err != nil { + cleanup6() + cleanup5() + cleanup4() + cleanup3() + cleanup2() + cleanup() + return Application{}, nil, err + } entitlementsConfiguration := conf.Entitlements aggregationConfiguration := conf.Aggregation clickHouseAggregationConfiguration := aggregationConfiguration.ClickHouse @@ -184,7 +194,8 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - secretserviceService, err := common.NewUnsafeSecretService(logger, client) + featureConnector := common.NewFeatureConnector(logger, client, inMemoryRepository) + billingService, err := common.BillingService(logger, client, service, adapter, billingConfiguration, customerService, featureConnector, inMemoryRepository, connector, eventbusPublisher) if err != nil { cleanup6() cleanup5() @@ -194,7 +205,8 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - appstripeService, err := common.NewAppStripeService(logger, client, appsConfiguration, service, customerService, secretserviceService) + productCatalogConfiguration := conf.ProductCatalog + planService, err := common.NewPlanService(logger, client, productCatalogConfiguration, featureConnector) if err != nil { cleanup6() cleanup5() @@ -204,7 +216,7 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - adapter, err := common.BillingAdapter(logger, client) + validator, err := common.BillingSubscriptionValidator(billingService, billingConfiguration) if err != nil { cleanup6() cleanup5() @@ -214,8 +226,7 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - featureConnector := common.NewFeatureConnector(logger, client, inMemoryRepository) - billingService, err := common.BillingService(logger, client, service, appstripeService, adapter, billingConfiguration, customerService, featureConnector, inMemoryRepository, connector, eventbusPublisher) + subscriptionServiceWithWorkflow, err := common.NewSubscriptionServices(logger, client, productCatalogConfiguration, entitlementsConfiguration, featureConnector, entitlement, customerService, planService, eventbusPublisher, validator) if err != nil { cleanup6() cleanup5() @@ -225,8 +236,8 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - productCatalogConfiguration := conf.ProductCatalog - planService, err := common.NewPlanService(logger, client, productCatalogConfiguration, featureConnector) + workerOptions := common.NewBillingWorkerOptions(eventsConfiguration, options, eventbusPublisher, billingService, adapter, subscriptionServiceWithWorkflow, logger) + worker, err := common.NewBillingWorker(workerOptions) if err != nil { cleanup6() cleanup5() @@ -236,18 +247,17 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - validator, err := common.BillingSubscriptionValidator(billingService, billingConfiguration) - if err != nil { - cleanup6() - cleanup5() - cleanup4() - cleanup3() - cleanup2() - cleanup() - return Application{}, nil, err + health := common.NewHealthChecker(logger) + telemetryHandler := common.NewTelemetryHandler(metricsTelemetryConfig, health) + v4, cleanup7 := common.NewTelemetryServer(telemetryConfig, telemetryHandler) + group := common.BillingWorkerGroup(ctx, worker, v4) + runner := common.Runner{ + Group: group, + Logger: logger, } - subscriptionServiceWithWorkflow, err := common.NewSubscriptionServices(logger, client, productCatalogConfiguration, entitlementsConfiguration, featureConnector, entitlement, customerService, planService, eventbusPublisher, validator) + secretserviceService, err := common.NewUnsafeSecretService(logger, client) if err != nil { + cleanup7() cleanup6() cleanup5() cleanup4() @@ -256,9 +266,9 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - workerOptions := common.NewBillingWorkerOptions(eventsConfiguration, options, eventbusPublisher, billingService, adapter, subscriptionServiceWithWorkflow, logger) - worker, err := common.NewBillingWorker(workerOptions) + appstripeService, err := common.NewAppStripeService(logger, client, appsConfiguration, service, customerService, secretserviceService) if err != nil { + cleanup7() cleanup6() cleanup5() cleanup4() @@ -267,14 +277,6 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl cleanup() return Application{}, nil, err } - health := common.NewHealthChecker(logger) - telemetryHandler := common.NewTelemetryHandler(metricsTelemetryConfig, health) - v4, cleanup7 := common.NewTelemetryServer(telemetryConfig, telemetryHandler) - group := common.BillingWorkerGroup(ctx, worker, v4) - runner := common.Runner{ - Group: group, - Logger: logger, - } namespacedTopicResolver, err := common.NewNamespacedTopicResolver(kafkaIngestConfiguration) if err != nil { cleanup7() diff --git a/cmd/jobs/internal/wire_gen.go b/cmd/jobs/internal/wire_gen.go index 19113ab4a..0536149eb 100644 --- a/cmd/jobs/internal/wire_gen.go +++ b/cmd/jobs/internal/wire_gen.go @@ -239,7 +239,7 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl } billingConfiguration := conf.Billing featureConnector := common.NewFeatureConnector(logger, client, inMemoryRepository) - billingService, err := common.BillingService(logger, client, service, appstripeService, adapter, billingConfiguration, customerService, featureConnector, inMemoryRepository, connector, eventbusPublisher) + billingService, err := common.BillingService(logger, client, service, adapter, billingConfiguration, customerService, featureConnector, inMemoryRepository, connector, eventbusPublisher) if err != nil { cleanup6() cleanup5() diff --git a/cmd/server/wire_gen.go b/cmd/server/wire_gen.go index a3e71bfc7..e342c33c9 100644 --- a/cmd/server/wire_gen.go +++ b/cmd/server/wire_gen.go @@ -240,7 +240,7 @@ func initializeApplication(ctx context.Context, conf config.Configuration) (Appl } billingConfiguration := conf.Billing featureConnector := common.NewFeatureConnector(logger, client, inMemoryRepository) - billingService, err := common.BillingService(logger, client, service, appstripeService, adapter, billingConfiguration, customerService, featureConnector, inMemoryRepository, connector, eventbusPublisher) + billingService, err := common.BillingService(logger, client, service, adapter, billingConfiguration, customerService, featureConnector, inMemoryRepository, connector, eventbusPublisher) if err != nil { cleanup6() cleanup5()