nunu-layout-admin/cmd/task/wire/wire.go

53 lines
938 B
Go

//go:build wireinject
// +build wireinject
package wire
import (
"github.com/google/wire"
"github.com/spf13/viper"
"nunu-layout-admin/internal/repository"
"nunu-layout-admin/internal/server"
"nunu-layout-admin/internal/task"
"nunu-layout-admin/pkg/app"
"nunu-layout-admin/pkg/log"
"nunu-layout-admin/pkg/sid"
)
var repositorySet = wire.NewSet(
repository.NewDB,
//repository.NewRedis,
repository.NewRepository,
repository.NewTransaction,
repository.NewUserRepository,
repository.NewCasbinEnforcer,
)
var taskSet = wire.NewSet(
task.NewTask,
task.NewUserTask,
)
var serverSet = wire.NewSet(
server.NewTaskServer,
)
// build App
func newApp(
task *server.TaskServer,
) *app.App {
return app.NewApp(
app.WithServer(task),
app.WithName("demo-task"),
)
}
func NewWire(*viper.Viper, *log.Logger) (*app.App, func(), error) {
panic(wire.Build(
repositorySet,
taskSet,
serverSet,
newApp,
sid.NewSid,
))
}