github.com/imyousuf/webhook-broker@v0.1.2/wire_gen.go (about)

     1  // Code generated by Wire. DO NOT EDIT.
     2  
     3  //go:generate wire
     4  //+build !wireinject
     5  
     6  package main
     7  
     8  import (
     9  	"github.com/imyousuf/webhook-broker/config"
    10  	"github.com/imyousuf/webhook-broker/controllers"
    11  	"github.com/imyousuf/webhook-broker/dispatcher"
    12  	"github.com/imyousuf/webhook-broker/storage"
    13  )
    14  
    15  // Injectors from wire.go:
    16  
    17  func GetAppVersion() config.AppVersion {
    18  	appVersion := config.GetVersion()
    19  	return appVersion
    20  }
    21  
    22  func GetHTTPServer(cliConfig *config.CLIConfig) (*HTTPServiceContainer, error) {
    23  	configConfig, err := config.GetConfigurationFromCLIConfig(cliConfig)
    24  	if err != nil {
    25  		return nil, err
    26  	}
    27  	serverLifecycleListenerImpl := NewServerListener()
    28  	migrationConfig := GetMigrationConfig(cliConfig)
    29  	dataAccessor, err := storage.GetNewDataAccessor(configConfig, migrationConfig, configConfig)
    30  	if err != nil {
    31  		return nil, err
    32  	}
    33  	appRepository := newAppRepository(dataAccessor)
    34  	statusController := controllers.NewStatusController(appRepository)
    35  	producerRepository := newProducerRepository(dataAccessor)
    36  	producerController := controllers.NewProducerController(producerRepository)
    37  	producersController := controllers.NewProducersController(producerRepository, producerController)
    38  	channelRepository := newChannelRepository(dataAccessor)
    39  	consumerRepository := newConsumerRepository(dataAccessor)
    40  	messageRepository := newMessageRepository(dataAccessor)
    41  	deliveryJobRepository := newDeliveryJobRepository(dataAccessor)
    42  	messageController := controllers.NewMessageController(messageRepository, deliveryJobRepository)
    43  	dlqController := controllers.NewDLQController(messageController, deliveryJobRepository, consumerRepository)
    44  	consumerController := controllers.NewConsumerController(channelRepository, consumerRepository, dlqController)
    45  	consumersController := controllers.NewConsumersController(consumerController, consumerRepository)
    46  	messagesController := controllers.NewMessagesController(messageController, messageRepository)
    47  	lockRepository := newLockRepository(dataAccessor)
    48  	configuration := &dispatcher.Configuration{
    49  		DeliveryJobRepo:          deliveryJobRepository,
    50  		ConsumerRepo:             consumerRepository,
    51  		LockRepo:                 lockRepository,
    52  		BrokerConfig:             configConfig,
    53  		ConsumerConnectionConfig: configConfig,
    54  		MsgRepo:                  messageRepository,
    55  	}
    56  	messageDispatcher := dispatcher.NewMessageDispatcher(configuration)
    57  	broadcastController := controllers.NewBroadcastController(channelRepository, messageRepository, producerRepository, messageDispatcher)
    58  	channelController := controllers.NewChannelController(consumersController, messagesController, broadcastController, channelRepository)
    59  	channelsController := controllers.NewChannelsController(channelRepository, channelController)
    60  	controllersControllers := &controllers.Controllers{
    61  		StatusController:    statusController,
    62  		ProducersController: producersController,
    63  		ProducerController:  producerController,
    64  		ChannelController:   channelController,
    65  		ConsumerController:  consumerController,
    66  		ConsumersController: consumersController,
    67  		BroadcastController: broadcastController,
    68  		MessageController:   messageController,
    69  		MessagesController:  messagesController,
    70  		DLQController:       dlqController,
    71  		ChannelsController:  channelsController,
    72  	}
    73  	router := controllers.NewRouter(controllersControllers)
    74  	server := controllers.ConfigureAPI(configConfig, serverLifecycleListenerImpl, router)
    75  	httpServiceContainer := &HTTPServiceContainer{
    76  		Configuration: configConfig,
    77  		Server:        server,
    78  		DataAccessor:  dataAccessor,
    79  		Listener:      serverLifecycleListenerImpl,
    80  		Dispatcher:    messageDispatcher,
    81  	}
    82  	return httpServiceContainer, nil
    83  }