76 lines
1.4 KiB
Go
76 lines
1.4 KiB
Go
//go:build wireinject
|
|
// +build wireinject
|
|
|
|
package wire
|
|
|
|
import (
|
|
"github.com/google/wire"
|
|
"github.com/spf13/viper"
|
|
"nunu-layout-admin/internal/handler"
|
|
"nunu-layout-admin/internal/job"
|
|
"nunu-layout-admin/internal/repository"
|
|
"nunu-layout-admin/internal/server"
|
|
"nunu-layout-admin/internal/service"
|
|
"nunu-layout-admin/pkg/app"
|
|
"nunu-layout-admin/pkg/jwt"
|
|
"nunu-layout-admin/pkg/log"
|
|
"nunu-layout-admin/pkg/server/http"
|
|
"nunu-layout-admin/pkg/sid"
|
|
)
|
|
|
|
var repositorySet = wire.NewSet(
|
|
repository.NewDB,
|
|
//repository.NewRedis,
|
|
repository.NewRepository,
|
|
repository.NewTransaction,
|
|
repository.NewUserRepository,
|
|
repository.NewCasbinEnforcer,
|
|
repository.NewAdminRepository,
|
|
)
|
|
|
|
var serviceSet = wire.NewSet(
|
|
service.NewService,
|
|
service.NewUserService,
|
|
service.NewAdminService,
|
|
)
|
|
|
|
var handlerSet = wire.NewSet(
|
|
handler.NewHandler,
|
|
handler.NewUserHandler,
|
|
handler.NewAdminHandler,
|
|
)
|
|
|
|
var jobSet = wire.NewSet(
|
|
job.NewJob,
|
|
job.NewUserJob,
|
|
)
|
|
var serverSet = wire.NewSet(
|
|
server.NewHTTPServer,
|
|
server.NewJobServer,
|
|
)
|
|
|
|
// build App
|
|
func newApp(
|
|
httpServer *http.Server,
|
|
jobServer *server.JobServer,
|
|
// task *server.Task,
|
|
) *app.App {
|
|
return app.NewApp(
|
|
app.WithServer(httpServer, jobServer),
|
|
app.WithName("demo-server"),
|
|
)
|
|
}
|
|
|
|
func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
|
|
panic(wire.Build(
|
|
repositorySet,
|
|
serviceSet,
|
|
handlerSet,
|
|
jobSet,
|
|
serverSet,
|
|
sid.NewSid,
|
|
jwt.NewJwt,
|
|
newApp,
|
|
))
|
|
}
|