geoGo/cmd/server/wire_gen.go

61 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 main
import (
"context"
"geo/internal/biz"
"geo/internal/config"
"geo/internal/data/impl"
"geo/internal/server"
"geo/internal/server/router"
"geo/internal/service"
"geo/utils"
"geo/utils/utils_oss"
"github.com/gofiber/fiber/v2/log"
)
// Injectors from wire.go:
// InitializeApp 初始化应用程序
func InitializeApp(configConfig *config.Config, allLogger log.AllLogger) (*server.Servers, func(), error) {
db, cleanup := utils.NewGormDb(configConfig)
tokenImpl := impl.NewTokenImpl(db)
userImpl := impl.NewUserImpl(db)
platImpl := impl.NewPlatImpl(db)
publishImpl := impl.NewPublishImpl(db)
loginRelationImpl := impl.NewLoginRelationImpl(db)
publishBiz := biz.NewPublishBiz(configConfig, publishImpl, userImpl, platImpl, tokenImpl, loginRelationImpl)
authBiz := biz.NewAuthBiz(configConfig, tokenImpl, userImpl)
productImpl := impl.NewProductImpl(db)
productSourceImpl := impl.NewProductSourceImpl(db)
client, err := utils_oss.NewClient(configConfig)
if err != nil {
cleanup()
return nil, nil, err
}
productBiz := biz.NewProductBiz(productImpl, productSourceImpl, configConfig, client)
appService := service.NewAppService(configConfig, tokenImpl, userImpl, platImpl, publishBiz, authBiz, loginRelationImpl, productBiz)
loginService := service.NewLoginService(configConfig, publishBiz, authBiz)
articleTypeImpl := impl.NewArticleTypeImpl(db)
aiBiz := biz.NewAiBiz(platImpl, articleTypeImpl)
publishService := service.NewPublishService(configConfig, publishBiz, authBiz, db, aiBiz)
collectImpl := impl.NewCollectImpl(db)
collectTaskImpl := impl.NewCollectTaskImpl(db)
collectBiz := biz.NewCollectBiz(context.Background(), configConfig, allLogger)
productService := service.NewProductService(configConfig, productImpl, authBiz, productBiz, aiBiz)
collectService := service.NewCollectService(configConfig, collectBiz, collectImpl, collectTaskImpl, authBiz)
productSourceService := service.NewProductSourceService(configConfig, productImpl, authBiz, aiBiz, productBiz, productSourceImpl, publishBiz, articleTypeImpl)
appModule := router.NewAppModule(configConfig, appService, loginService, publishService, productService, productSourceService, collectService)
routerServer := router.NewRouterServer(appModule)
app := server.NewHTTPServer(routerServer)
servers := server.NewServers(configConfig, app)
return servers, func() {
cleanup()
}, nil
}