recommender/cmd/wire_gen.go
2024-11-10 03:49:53 +08:00

88 lines
5.0 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 cmd
import (
"github.com/google/wire"
"leafdev.top/Ecosystem/recommender/internal/base"
"leafdev.top/Ecosystem/recommender/internal/base/conf"
"leafdev.top/Ecosystem/recommender/internal/base/logger"
"leafdev.top/Ecosystem/recommender/internal/base/milvus"
"leafdev.top/Ecosystem/recommender/internal/base/orm"
"leafdev.top/Ecosystem/recommender/internal/base/redis"
"leafdev.top/Ecosystem/recommender/internal/base/s3"
"leafdev.top/Ecosystem/recommender/internal/base/server"
"leafdev.top/Ecosystem/recommender/internal/batch"
"leafdev.top/Ecosystem/recommender/internal/dao"
"leafdev.top/Ecosystem/recommender/internal/handler"
"leafdev.top/Ecosystem/recommender/internal/handler/grpc"
"leafdev.top/Ecosystem/recommender/internal/handler/grpc/documents"
"leafdev.top/Ecosystem/recommender/internal/handler/grpc/interceptor"
"leafdev.top/Ecosystem/recommender/internal/handler/http"
"leafdev.top/Ecosystem/recommender/internal/handler/http/controller/application_v1"
"leafdev.top/Ecosystem/recommender/internal/handler/http/controller/v1"
"leafdev.top/Ecosystem/recommender/internal/handler/http/middleware"
"leafdev.top/Ecosystem/recommender/internal/router"
"leafdev.top/Ecosystem/recommender/internal/service"
"leafdev.top/Ecosystem/recommender/internal/service/application"
"leafdev.top/Ecosystem/recommender/internal/service/auth"
"leafdev.top/Ecosystem/recommender/internal/service/category"
"leafdev.top/Ecosystem/recommender/internal/service/embedding"
"leafdev.top/Ecosystem/recommender/internal/service/jwks"
"leafdev.top/Ecosystem/recommender/internal/service/post"
"leafdev.top/Ecosystem/recommender/internal/service/stream"
"leafdev.top/Ecosystem/recommender/internal/service/user"
)
// Injectors from wire.go:
func CreateApp() (*base.Application, error) {
loggerLogger := logger.NewZapLogger()
config := conf.ProviderConfig(loggerLogger)
jwksJWKS := jwks.NewJWKS(config, loggerLogger)
db := orm.NewGORM(config, loggerLogger)
query := dao.NewQuery(db)
authService := auth.NewAuthService(config, jwksJWKS, loggerLogger, query)
applicationService := application.NewService(query)
applicationController := v1.NewApplicationController(authService, applicationService)
application_v1ApplicationController := application_v1.NewApplicationController(authService, applicationService)
streamService := stream.NewService(config)
client := milvus.NewService(config, loggerLogger)
redisRedis := redis.NewRedis(config)
embeddingService := embedding.NewService(config, loggerLogger, query, redisRedis)
postService := post.NewService(query, config, streamService, client, embeddingService)
categoryService := category.NewService(query)
postController := application_v1.NewPostController(authService, applicationService, postService, categoryService)
categoryController := application_v1.NewCategoryController(authService, applicationService, postService, categoryService)
userService := user.NewService(query, postService, loggerLogger, client, embeddingService, config)
userController := application_v1.NewUserController(authService, applicationService, userService, postService, loggerLogger, redisRedis, categoryService)
handlers := http.NewHandler(applicationController, application_v1ApplicationController, postController, categoryController, userController)
api := router.NewApiRoute(handlers)
swaggerRouter := router.NewSwaggerRoute()
ginLoggerMiddleware := middleware.NewGinLoggerMiddleware(loggerLogger)
authMiddleware := middleware.NewAuthMiddleware(authService)
jsonResponseMiddleware := middleware.NewJSONResponseMiddleware()
applicationAuthMiddleware := middleware.NewApplicationAuthMiddleware(authService)
httpMiddleware := http.NewMiddleware(ginLoggerMiddleware, authMiddleware, jsonResponseMiddleware, applicationAuthMiddleware)
httpServer := server.NewHTTPServer(config, api, swaggerRouter, httpMiddleware)
documentService := documents.NewDocumentService(query)
interceptorAuth := interceptor.NewAuth(authService)
interceptorLogger := interceptor.NewLogger(loggerLogger)
grpcInterceptor := grpc.NewInterceptor(interceptorAuth, interceptorLogger)
grpcHandlers := grpc.NewHandler(documentService, grpcInterceptor)
handlerHandler := handler.NewHandler(grpcHandlers, handlers)
serviceService := service.NewService(loggerLogger, jwksJWKS, streamService, authService, applicationService, postService, categoryService, userService, embeddingService)
batchBatch := batch.NewBatch(loggerLogger)
s3S3 := s3.NewS3(config)
baseApplication := base.NewApplication(config, httpServer, handlerHandler, loggerLogger, serviceService, httpMiddleware, redisRedis, batchBatch, s3S3, db, query, client)
return baseApplication, nil
}
// wire.go:
var ProviderSet = wire.NewSet(conf.ProviderConfig, logger.NewZapLogger, orm.NewGORM, dao.NewQuery, redis.NewRedis, s3.NewS3, batch.NewBatch, milvus.NewService, service.Provider, handler.ProviderSet, router.ProviderSetRouter, server.NewHTTPServer, base.NewApplication)