56 lines
1.5 KiB
Go
56 lines
1.5 KiB
Go
// Code generated by Wire. DO NOT EDIT.
|
|
|
|
//go:build !wireinject
|
|
// +build !wireinject
|
|
|
|
package di
|
|
|
|
import (
|
|
"caatsm/internal/adapter/parser"
|
|
"caatsm/internal/app"
|
|
"caatsm/internal/infra/config"
|
|
"caatsm/internal/infra/log"
|
|
"caatsm/internal/infra/nats"
|
|
"caatsm/internal/infra/postgres"
|
|
)
|
|
|
|
// InitializeApp initializes the application with all dependencies
|
|
func InitializeApp() (*app.MessageProcessor, *nats.Consumer, error) {
|
|
configConfig, err := config.ProvideConfig()
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
zapLogger, err := log.ProvideLogger(configConfig)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
pgxpoolPool, err := postgres.ProvideDB(configConfig)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
adapterRepository, err := postgres.ProvideRepository(pgxpoolPool, zapLogger)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
natsConn, err := nats.ProvideNATSConn(configConfig, zapLogger)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
natsJetStreamContext, err := nats.ProvideJetStream(natsConn, configConfig, zapLogger)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
adapterPublisher, err := nats.ProvidePublisher(natsJetStreamContext, configConfig, zapLogger)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
parserParser := parser.ProvideParser()
|
|
appMessageProcessor := app.NewMessageProcessor(parserParser, adapterRepository, adapterPublisher, zapLogger)
|
|
natsConsumer, err := nats.ProvideConsumer(natsConn, natsJetStreamContext, appMessageProcessor, configConfig, zapLogger)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
return appMessageProcessor, natsConsumer, nil
|
|
}
|
|
|