membership-attribute-service/app/components/TouchpointBackends.scala (61 lines of code) (raw):

package components import com.gu.memsub.subsv2.Catalog import com.gu.memsub.subsv2.services.SubscriptionService import com.gu.zuora.ZuoraSoapService import com.typesafe.config.Config import configuration.Stage import monitoring.CreateMetrics import org.apache.pekko.actor.ActorSystem import services.salesforce.ContactRepository import services.stripe.{BasicStripeService, ChooseStripe} import services.zuora.rest.ZuoraRestService import services.{HealthCheckableService, SupporterProductDataService} import scala.concurrent.{ExecutionContext, Future} class TouchpointBackends( actorSystem: ActorSystem, config: Config, createMetrics: CreateMetrics, supporterProductDataServiceOverride: Option[SupporterProductDataService] = None, contactRepositoryOverride: Option[ContactRepository] = None, subscriptionServiceOverride: Option[SubscriptionService[Future]] = None, zuoraRestServiceOverride: Option[ZuoraRestService] = None, catalogServiceOverride: Option[Future[Catalog]] = None, zuoraServiceOverride: Option[ZuoraSoapService with HealthCheckableService] = None, patronsStripeServiceOverride: Option[BasicStripeService] = None, chooseStripeOverride: Option[ChooseStripe] = None, )(implicit executionContext: ExecutionContext, ) { private val defaultStage = Stage(config.getString("touchpoint.backend.default")) val normal = new TouchpointComponents( defaultStage, createMetrics, config, supporterProductDataServiceOverride, contactRepositoryOverride, subscriptionServiceOverride, zuoraRestServiceOverride, catalogServiceOverride, zuoraServiceOverride, patronsStripeServiceOverride, chooseStripeOverride, )( actorSystem, executionContext, ) private val testStage = Stage(config.getString("touchpoint.backend.test")) val test = new TouchpointComponents( testStage, createMetrics, config, supporterProductDataServiceOverride, contactRepositoryOverride, subscriptionServiceOverride, zuoraRestServiceOverride, catalogServiceOverride, zuoraServiceOverride, patronsStripeServiceOverride, chooseStripeOverride, )(actorSystem, executionContext) }