// 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 }