70 lines
2.5 KiB
Go
70 lines
2.5 KiB
Go
// 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/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"
|
|
)
|
|
|
|
// Injectors from wire.go:
|
|
|
|
func NewWire(viperViper *viper.Viper, logger *log.Logger) (*app.App, func(), error) {
|
|
jwtJWT := jwt.NewJwt(viperViper)
|
|
db := repository.NewDB(viperViper, logger)
|
|
syncedEnforcer := repository.NewCasbinEnforcer(viperViper, logger, db)
|
|
handlerHandler := handler.NewHandler(logger)
|
|
repositoryRepository := repository.NewRepository(logger, db, syncedEnforcer)
|
|
transaction := repository.NewTransaction(repositoryRepository)
|
|
sidSid := sid.NewSid()
|
|
serviceService := service.NewService(transaction, logger, sidSid, jwtJWT)
|
|
adminRepository := repository.NewAdminRepository(repositoryRepository)
|
|
adminService := service.NewAdminService(serviceService, adminRepository)
|
|
adminHandler := handler.NewAdminHandler(handlerHandler, adminService)
|
|
userRepository := repository.NewUserRepository(repositoryRepository)
|
|
userService := service.NewUserService(serviceService, userRepository)
|
|
userHandler := handler.NewUserHandler(handlerHandler, userService)
|
|
httpServer := server.NewHTTPServer(logger, viperViper, jwtJWT, syncedEnforcer, adminHandler, userHandler)
|
|
jobJob := job.NewJob(transaction, logger, sidSid)
|
|
userJob := job.NewUserJob(jobJob, userRepository)
|
|
jobServer := server.NewJobServer(logger, userJob)
|
|
appApp := newApp(httpServer, jobServer)
|
|
return appApp, func() {
|
|
}, nil
|
|
}
|
|
|
|
// wire.go:
|
|
|
|
var repositorySet = wire.NewSet(repository.NewDB, 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,
|
|
|
|
) *app.App {
|
|
return app.NewApp(app.WithServer(httpServer, jobServer), app.WithName("demo-server"))
|
|
}
|