//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/helper/sid" "github.com/go-nunu/nunu-layout-advanced/pkg/jwt" "github.com/go-nunu/nunu-layout-advanced/pkg/log" "github.com/google/wire" "github.com/spf13/viper" ) var HandlerSet = wire.NewSet( handler.NewHandler, handler.NewUserHandler, ) var ServiceSet = wire.NewSet( service.NewService, service.NewUserService, ) var RepositorySet = wire.NewSet( repository.NewDB, repository.NewRedis, repository.NewRepository, repository.NewUserRepository, ) func NewApp(*viper.Viper, *log.Logger) (*server.Server, func(), error) { panic(wire.Build( RepositorySet, ServiceSet, HandlerSet, server.NewServer, server.NewServerHTTP, sid.NewSid, jwt.NewJwt, )) }