leaf-library-3/cmd/wire_gen.go
2024-12-07 02:44:32 +08:00

76 lines
3.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 cmd
import (
"github.com/google/wire"
"leafdev.top/Leaf/leaf-library-3/internal/api"
"leafdev.top/Leaf/leaf-library-3/internal/api/grpc"
"leafdev.top/Leaf/leaf-library-3/internal/api/grpc/interceptor"
"leafdev.top/Leaf/leaf-library-3/internal/api/grpc/v1/documents"
"leafdev.top/Leaf/leaf-library-3/internal/api/http"
"leafdev.top/Leaf/leaf-library-3/internal/api/http/controller"
"leafdev.top/Leaf/leaf-library-3/internal/base"
"leafdev.top/Leaf/leaf-library-3/internal/base/conf"
"leafdev.top/Leaf/leaf-library-3/internal/base/logger"
"leafdev.top/Leaf/leaf-library-3/internal/base/milvus"
"leafdev.top/Leaf/leaf-library-3/internal/base/orm"
"leafdev.top/Leaf/leaf-library-3/internal/base/redis"
"leafdev.top/Leaf/leaf-library-3/internal/base/s3"
"leafdev.top/Leaf/leaf-library-3/internal/base/server"
"leafdev.top/Leaf/leaf-library-3/internal/batch"
"leafdev.top/Leaf/leaf-library-3/internal/dao"
"leafdev.top/Leaf/leaf-library-3/internal/router"
"leafdev.top/Leaf/leaf-library-3/internal/services"
"leafdev.top/Leaf/leaf-library-3/internal/services/auth"
"leafdev.top/Leaf/leaf-library-3/internal/services/collection"
"leafdev.top/Leaf/leaf-library-3/internal/services/document"
"leafdev.top/Leaf/leaf-library-3/internal/services/jwks"
"leafdev.top/Leaf/leaf-library-3/internal/services/stream"
"leafdev.top/Leaf/leaf-library-3/internal/services/workspace"
)
// Injectors from wire.go:
func CreateApp() (*base.Application, error) {
config := conf.NewConfig()
loggerLogger := logger.NewZapLogger(config)
db := orm.NewGORM(config, loggerLogger)
query := dao.NewQuery(db)
service := workspace.NewService(config, query)
jwksJWKS := jwks.NewJWKS(config, loggerLogger)
authService := auth.NewService(config, jwksJWKS, loggerLogger)
workspaceController := controller.NewWorkspaceController(service, authService)
collectionService := collection.NewService(config, query)
collectionController := controller.NewCollectionController(collectionService, service, authService)
documentService := document.NewService(config, query)
documentController := controller.NewDocumentController(documentService, collectionService, service, authService)
handlers := http.NewHandler(workspaceController, collectionController, documentController)
middleware := http.NewMiddleware(config, loggerLogger, authService)
routerApi := router.NewApiRoute(handlers, middleware)
swaggerRouter := router.NewSwaggerRoute()
httpServer := server.NewHTTPServer(config, routerApi, swaggerRouter, middleware, loggerLogger)
handler := documents.NewHandler(query)
interceptorAuth := interceptor.NewAuth(authService, loggerLogger, config)
interceptorLogger := interceptor.NewLogger(loggerLogger)
grpcInterceptor := grpc.NewInterceptor(interceptorAuth, interceptorLogger)
grpcHandlers := grpc.NewHandler(handler, grpcInterceptor)
apiApi := api.NewApi(grpcHandlers, handlers)
streamService := stream.NewService(config)
servicesService := services.NewService(loggerLogger, jwksJWKS, authService, streamService, service, collectionService, documentService)
redisRedis := redis.NewRedis(config)
batchBatch := batch.NewBatch(loggerLogger)
s3S3 := s3.NewS3(config)
client := milvus.NewService(config, loggerLogger)
application := base.NewApplication(config, httpServer, apiApi, loggerLogger, servicesService, redisRedis, batchBatch, s3S3, db, query, client)
return application, nil
}
// wire.go:
var ProviderSet = wire.NewSet(conf.NewConfig, logger.NewZapLogger, orm.NewGORM, dao.NewQuery, redis.NewRedis, s3.NewS3, milvus.NewService, batch.NewBatch, services.Provide, api.Provide, router.Provide, server.NewHTTPServer, base.NewApplication)