api-platform/cmd/wire_gen.go
2024-11-23 01:55:15 +08:00

66 lines
2.9 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/api-platform/internal/base"
"leafdev.top/Leaf/api-platform/internal/base/conf"
"leafdev.top/Leaf/api-platform/internal/base/logger"
"leafdev.top/Leaf/api-platform/internal/base/orm"
"leafdev.top/Leaf/api-platform/internal/base/redis"
"leafdev.top/Leaf/api-platform/internal/base/s3"
"leafdev.top/Leaf/api-platform/internal/base/server"
"leafdev.top/Leaf/api-platform/internal/batch"
"leafdev.top/Leaf/api-platform/internal/dao"
"leafdev.top/Leaf/api-platform/internal/handler"
"leafdev.top/Leaf/api-platform/internal/handler/grpc"
"leafdev.top/Leaf/api-platform/internal/handler/grpc/documents"
"leafdev.top/Leaf/api-platform/internal/handler/grpc/interceptor"
"leafdev.top/Leaf/api-platform/internal/handler/http"
"leafdev.top/Leaf/api-platform/internal/handler/http/controller/v1"
"leafdev.top/Leaf/api-platform/internal/router"
"leafdev.top/Leaf/api-platform/internal/service"
"leafdev.top/Leaf/api-platform/internal/service/auth"
"leafdev.top/Leaf/api-platform/internal/service/jwks"
"leafdev.top/Leaf/api-platform/internal/service/stream"
)
// 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)
userController := v1.NewUserController(authService)
handlers := http.NewHandler(userController)
api := router.NewApiRoute(handlers)
swaggerRouter := router.NewSwaggerRoute()
middleware := http.NewMiddleware(config, loggerLogger, authService)
httpServer := server.NewHTTPServer(config, api, swaggerRouter, middleware)
db := orm.NewGORM(config, loggerLogger)
query := dao.NewQuery(db)
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)
streamService := stream.NewService(config)
serviceService := service.NewService(loggerLogger, jwksJWKS, authService, streamService)
redisRedis := redis.NewRedis(config)
batchBatch := batch.NewBatch(loggerLogger)
s3S3 := s3.NewS3(config)
application := base.NewApplication(config, httpServer, handlerHandler, loggerLogger, serviceService, middleware, redisRedis, batchBatch, s3S3, db, query)
return application, 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)