2025-06-13 17:23:16 +08:00

82 lines
2.1 KiB
Go

//go:build wireinject
// +build wireinject
package erpserver
import (
"management/internal/erpserver/handler"
commonHandler "management/internal/erpserver/handler/common"
systemHandler "management/internal/erpserver/handler/system"
"management/internal/erpserver/repository"
systemRepo "management/internal/erpserver/repository/system"
"management/internal/erpserver/service/v1"
commonService "management/internal/erpserver/service/v1/common"
systemService "management/internal/erpserver/service/v1/system"
"management/internal/pkg/cache"
"management/internal/pkg/config"
"management/internal/pkg/render"
"management/internal/pkg/session"
"github.com/drhin/logger"
"github.com/google/wire"
)
var repositorySet = wire.NewSet(
repository.NewDB,
repository.NewRepository,
repository.NewTransaction,
systemRepo.NewUserRepository,
systemRepo.NewLoginLogRepository,
systemRepo.NewAuditLogRepository,
systemRepo.NewRoleRepository,
systemRepo.NewMenuRepository,
systemRepo.NewRoleMenuRepository,
systemRepo.NewDepartmentRepository,
systemRepo.NewConfigRepository,
)
var serviceSet = wire.NewSet(
v1.NewService,
commonService.NewCaptchaService,
systemService.NewUserService,
systemService.NewLoginLogService,
systemService.NewAuditLogService,
systemService.NewRoleService,
systemService.NewMenuService,
systemService.NewRoleMenuService,
systemService.NewDepartmentService,
systemService.NewConfigService,
)
var handlerSet = wire.NewSet(
handler.NewHandler,
commonHandler.NewCaptchaHandler,
commonHandler.NewUploadHandler,
systemHandler.NewHomeHandler,
systemHandler.NewUserHandler,
systemHandler.NewLoginLogHandler,
systemHandler.NewAuditHandler,
systemHandler.NewRoleHandler,
systemHandler.NewMenuHandler,
systemHandler.NewDepartmentHandler,
systemHandler.NewConfigHandler,
)
var serverSet = wire.NewSet(
NewHTTPServer,
NewApp,
)
func NewWire(*config.Config, *logger.Logger) (App, func(), error) {
panic(wire.Build(
repositorySet,
cache.ConnectRedis,
cache.NewRedisCache,
session.NewSCSManager,
serviceSet,
render.New,
handlerSet,
serverSet,
))
}