// Code generated by Wire. DO NOT EDIT. //go:generate go run -mod=mod github.com/google/wire/cmd/wire //go:build !wireinject // +build !wireinject package wire import ( "github.com/go-nunu/nunu-layout-advanced/internal/handler" "github.com/go-nunu/nunu-layout-advanced/internal/repository" "github.com/go-nunu/nunu-layout-advanced/internal/server" "github.com/go-nunu/nunu-layout-advanced/internal/service" "github.com/go-nunu/nunu-layout-advanced/pkg/app" "github.com/go-nunu/nunu-layout-advanced/pkg/jwt" "github.com/go-nunu/nunu-layout-advanced/pkg/log" "github.com/go-nunu/nunu-layout-advanced/pkg/server/http" "github.com/go-nunu/nunu-layout-advanced/pkg/sid" "github.com/google/wire" "github.com/spf13/viper" ) // Injectors from wire.go: func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), error) { jwtJWT := jwt.NewJwt(viperViper) handlerHandler := handler.NewHandler(logger) db := repository.NewDB(viperViper, logger) repositoryRepository := repository.NewRepository(logger, db) transaction := repository.NewTransaction(repositoryRepository) sidSid := sid.NewSid() serviceService := service.NewService(transaction, logger, sidSid, jwtJWT) userRepository := repository.NewUserRepository(repositoryRepository) userService := service.NewUserService(serviceService, userRepository) userHandler := handler.NewUserHandler(handlerHandler, userService) httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, userHandler) job := server.NewJob(logger) appApp := newApp(httpServer, job) return appApp, func() { }, nil } // wire.go: var repositorySet = wire.NewSet(repository.NewDB, repository.NewRepository, repository.NewTransaction, repository.NewUserRepository) var serviceSet = wire.NewSet(service.NewService, service.NewUserService) var handlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler) var serverSet = wire.NewSet(server.NewHTTPServer, server.NewJob) // build App func newApp(httpServer *http.Server, job *server.Job) *app.App { return app.NewApp(app.WithServer(httpServer, job), app.WithName("demo-server")) }