hailin/internal/wirex/wire_gen.go
2025-06-19 10:30:46 +08:00

254 lines
4.7 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 wirex
import (
"context"
"github.com/guxuan/hailin_service/internal/mods"
"github.com/guxuan/hailin_service/internal/mods/rbac"
"github.com/guxuan/hailin_service/internal/mods/rbac/api"
"github.com/guxuan/hailin_service/internal/mods/rbac/biz"
"github.com/guxuan/hailin_service/internal/mods/rbac/dal"
"github.com/guxuan/hailin_service/pkg/util"
)
// Injectors from wire.go:
func BuildInjector(ctx context.Context) (*Injector, func(), error) {
db, cleanup, err := InitDB(ctx)
if err != nil {
return nil, nil, err
}
cacher, cleanup2, err := InitCacher(ctx)
if err != nil {
cleanup()
return nil, nil, err
}
auther, cleanup3, err := InitAuth(ctx)
if err != nil {
cleanup2()
cleanup()
return nil, nil, err
}
trans := &util.Trans{
DB: db,
}
menu := &dal.Menu{
DB: db,
}
menuResource := &dal.MenuResource{
DB: db,
}
roleMenu := &dal.RoleMenu{
DB: db,
}
bizMenu := &biz.Menu{
Cache: cacher,
Trans: trans,
MenuDAL: menu,
MenuResourceDAL: menuResource,
RoleMenuDAL: roleMenu,
}
apiMenu := &api.Menu{
MenuBIZ: bizMenu,
}
role := &dal.Role{
DB: db,
}
userRole := &dal.UserRole{
DB: db,
}
bizRole := &biz.Role{
Cache: cacher,
Trans: trans,
RoleDAL: role,
RoleMenuDAL: roleMenu,
UserRoleDAL: userRole,
}
apiRole := &api.Role{
RoleBIZ: bizRole,
}
user := &dal.User{
DB: db,
}
bizUser := &biz.User{
Cache: cacher,
Trans: trans,
UserDAL: user,
UserRoleDAL: userRole,
}
apiUser := &api.User{
UserBIZ: bizUser,
}
login := &biz.Login{
Cache: cacher,
Auth: auther,
UserDAL: user,
UserRoleDAL: userRole,
MenuDAL: menu,
UserBIZ: bizUser,
}
apiLogin := &api.Login{
LoginBIZ: login,
}
logger := &dal.Logger{
DB: db,
}
bizLogger := &biz.Logger{
LoggerDAL: logger,
}
apiLogger := &api.Logger{
LoggerBIZ: bizLogger,
}
banner := &dal.Banner{
DB: db,
}
bizBanner := &biz.Banner{
Cache: cacher,
Trans: trans,
BannerDAL: banner,
}
apiBanner := &api.Banner{
BannerBIZ: bizBanner,
}
article := &dal.Article{
DB: db,
}
bizArticle := &biz.Article{
Cache: cacher,
Trans: trans,
ArticleDAL: article,
}
apiArticle := &api.Article{
ArticleBIZ: bizArticle,
}
video := &dal.Video{
DB: db,
}
bizVideo := &biz.Video{
Cache: cacher,
Trans: trans,
VideoDAL: video,
}
apiVideo := &api.Video{
VideoBIZ: bizVideo,
}
upload := &biz.Upload{
Cache: cacher,
Trans: trans,
}
apiUpload := &api.Upload{
UploadBIZ: upload,
}
job := &dal.Job{
DB: db,
}
jobArea := &dal.JobArea{
DB: db,
}
bizJob := &biz.Job{
Cache: cacher,
Trans: trans,
JobDAL: job,
JobAreaDAL: jobArea,
}
apiJob := &api.Job{
JobBIZ: bizJob,
}
web := &api.Web{
ArticleBIZ: bizArticle,
JobBIZ: bizJob,
}
webSite := &dal.WebSite{
DB: db,
}
bizWebSite := &biz.WebSite{
Cache: cacher,
Trans: trans,
WebSiteDAL: webSite,
}
apiWebSite := &api.WebSite{
WebSiteBIZ: bizWebSite,
}
team := &dal.Team{
DB: db,
}
bizTeam := &biz.Team{
Cache: cacher,
Trans: trans,
TeamDAL: team,
}
apiTeam := &api.Team{
TeamBIZ: bizTeam,
}
memorabilia := &dal.Memorabilia{
DB: db,
}
bizMemorabilia := &biz.Memorabilia{
Cache: cacher,
Trans: trans,
MemorabiliaDAL: memorabilia,
}
apiMemorabilia := &api.Memorabilia{
MemorabiliaBIZ: bizMemorabilia,
}
product := &dal.Product{
DB: db,
}
productCategory := &dal.ProductCategory{
DB: db,
}
bizProduct := &biz.Product{
Cache: cacher,
Trans: trans,
ProductDAL: product,
ProductCategoryDAL: productCategory,
}
apiProduct := &api.Product{
ProductBIZ: bizProduct,
}
casbinx := &rbac.Casbinx{
Cache: cacher,
MenuDAL: menu,
MenuResourceDAL: menuResource,
RoleDAL: role,
}
rbacRBAC := &rbac.RBAC{
DB: db,
MenuAPI: apiMenu,
RoleAPI: apiRole,
UserAPI: apiUser,
LoginAPI: apiLogin,
LoggerAPI: apiLogger,
BannerAPI: apiBanner,
ArticleAPI: apiArticle,
VideoAPI: apiVideo,
UploadAPI: apiUpload,
JobAPI: apiJob,
WebAPI: web,
WebSiteAPI: apiWebSite,
TeamAPI: apiTeam,
MemorabiliaAPI: apiMemorabilia,
ProductAPI: apiProduct,
Casbinx: casbinx,
}
modsMods := &mods.Mods{
RBAC: rbacRBAC,
}
injector := &Injector{
DB: db,
Cache: cacher,
Auth: auther,
M: modsMods,
}
return injector, func() {
cleanup3()
cleanup2()
cleanup()
}, nil
}