recommender/cmd/wire_gen.go
2024-11-07 18:09:13 +08:00

70 lines
3.4 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/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/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/jwks"
)
// Injectors from wire.go:
func CreateApp() (*base.Application, error) {
loggerLogger := logger.NewZapLogger()
config := conf.ProviderConfig(loggerLogger)
jwksJWKS := jwks.NewJWKS(config, loggerLogger)
authService := auth.NewAuthService(config, jwksJWKS, loggerLogger)
db := orm.NewGORM(config, loggerLogger)
query := dao.NewQuery(db)
applicationService := application.NewService(query)
applicationController := v1.NewApplicationController(authService, applicationService)
handlers := http.NewHandler(applicationController)
api := router.NewApiRoute(handlers)
swaggerRouter := router.NewSwaggerRoute()
ginLoggerMiddleware := middleware.NewGinLoggerMiddleware(loggerLogger)
authMiddleware := middleware.NewAuthMiddleware(authService)
jsonResponseMiddleware := middleware.NewJSONResponseMiddleware()
httpMiddleware := http.NewMiddleware(ginLoggerMiddleware, authMiddleware, jsonResponseMiddleware)
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, authService, applicationService)
redisRedis := redis.NewRedis(config)
batchBatch := batch.NewBatch(loggerLogger)
s3S3 := s3.NewS3(config)
baseApplication := base.NewApplication(config, httpServer, handlerHandler, loggerLogger, serviceService, httpMiddleware, redisRedis, batchBatch, s3S3, db, query)
return baseApplication, nil
}
// wire.go:
var ProviderSet = wire.NewSet(conf.ProviderConfig, logger.NewZapLogger, orm.NewGORM, dao.NewQuery, redis.NewRedis, s3.NewS3, batch.NewBatch, service.Provider, handler.ProviderSet, router.ProviderSetRouter, server.NewHTTPServer, base.NewApplication)