88 lines
5.0 KiB
Go
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)
|