Files
MonkeyCode/backend/cmd/server/wire_gen.go

161 lines
8.0 KiB
Go
Raw Normal View History

2025-06-25 15:25:18 +08:00
// Code generated by Wire. DO NOT EDIT.
2025-08-13 12:06:22 +08:00
//go:generate go run github.com/google/wire/cmd/wire
2025-06-25 15:25:18 +08:00
//go:build !wireinject
// +build !wireinject
package main
import (
"github.com/GoYoko/web"
"github.com/chaitin/MonkeyCode/backend/config"
"github.com/chaitin/MonkeyCode/backend/db"
2025-07-22 17:45:56 +08:00
"github.com/chaitin/MonkeyCode/backend/domain"
2025-06-25 15:25:18 +08:00
v1_5 "github.com/chaitin/MonkeyCode/backend/internal/billing/handler/http/v1"
2025-07-31 16:13:15 +08:00
repo8 "github.com/chaitin/MonkeyCode/backend/internal/billing/repo"
usecase7 "github.com/chaitin/MonkeyCode/backend/internal/billing/usecase"
v1_7 "github.com/chaitin/MonkeyCode/backend/internal/codesnippet/handler/http/v1"
repo10 "github.com/chaitin/MonkeyCode/backend/internal/codesnippet/repo"
"github.com/chaitin/MonkeyCode/backend/internal/codesnippet/service"
2025-07-31 16:13:15 +08:00
usecase9 "github.com/chaitin/MonkeyCode/backend/internal/codesnippet/usecase"
2025-06-25 15:25:18 +08:00
v1_4 "github.com/chaitin/MonkeyCode/backend/internal/dashboard/handler/v1"
2025-07-31 16:13:15 +08:00
repo7 "github.com/chaitin/MonkeyCode/backend/internal/dashboard/repo"
usecase6 "github.com/chaitin/MonkeyCode/backend/internal/dashboard/usecase"
repo5 "github.com/chaitin/MonkeyCode/backend/internal/extension/repo"
2025-07-04 20:17:49 +08:00
usecase2 "github.com/chaitin/MonkeyCode/backend/internal/extension/usecase"
2025-06-25 15:25:18 +08:00
"github.com/chaitin/MonkeyCode/backend/internal/middleware"
v1_2 "github.com/chaitin/MonkeyCode/backend/internal/model/handler/http/v1"
2025-07-13 00:05:39 +08:00
repo2 "github.com/chaitin/MonkeyCode/backend/internal/model/repo"
2025-07-31 14:36:19 +08:00
usecase4 "github.com/chaitin/MonkeyCode/backend/internal/model/usecase"
2025-06-30 19:04:09 +08:00
"github.com/chaitin/MonkeyCode/backend/internal/openai/handler/v1"
2025-07-31 16:13:15 +08:00
repo4 "github.com/chaitin/MonkeyCode/backend/internal/openai/repo"
2025-06-30 19:04:09 +08:00
"github.com/chaitin/MonkeyCode/backend/internal/openai/usecase"
2025-06-25 15:25:18 +08:00
"github.com/chaitin/MonkeyCode/backend/internal/proxy"
"github.com/chaitin/MonkeyCode/backend/internal/proxy/repo"
"github.com/chaitin/MonkeyCode/backend/internal/proxy/usecase"
2025-07-31 16:13:15 +08:00
repo11 "github.com/chaitin/MonkeyCode/backend/internal/report/repo"
usecase10 "github.com/chaitin/MonkeyCode/backend/internal/report/usecase"
v1_6 "github.com/chaitin/MonkeyCode/backend/internal/security/handler/http/v1"
repo3 "github.com/chaitin/MonkeyCode/backend/internal/security/repo"
usecase5 "github.com/chaitin/MonkeyCode/backend/internal/security/usecase"
"github.com/chaitin/MonkeyCode/backend/internal/socket/handler"
2025-06-25 15:25:18 +08:00
v1_3 "github.com/chaitin/MonkeyCode/backend/internal/user/handler/v1"
2025-07-31 16:13:15 +08:00
repo6 "github.com/chaitin/MonkeyCode/backend/internal/user/repo"
2025-07-31 14:36:19 +08:00
usecase3 "github.com/chaitin/MonkeyCode/backend/internal/user/usecase"
2025-07-31 16:13:15 +08:00
repo9 "github.com/chaitin/MonkeyCode/backend/internal/workspace/repo"
usecase8 "github.com/chaitin/MonkeyCode/backend/internal/workspace/usecase"
2025-06-25 15:25:18 +08:00
"github.com/chaitin/MonkeyCode/backend/pkg"
2025-07-16 18:32:36 +08:00
"github.com/chaitin/MonkeyCode/backend/pkg/ipdb"
2025-06-25 15:25:18 +08:00
"github.com/chaitin/MonkeyCode/backend/pkg/logger"
2025-07-21 16:45:39 +08:00
"github.com/chaitin/MonkeyCode/backend/pkg/report"
2025-06-25 15:25:18 +08:00
"github.com/chaitin/MonkeyCode/backend/pkg/session"
"github.com/chaitin/MonkeyCode/backend/pkg/store"
2025-07-21 16:45:39 +08:00
"github.com/chaitin/MonkeyCode/backend/pkg/version"
2025-06-30 19:04:09 +08:00
"log/slog"
2025-06-25 15:25:18 +08:00
)
// Injectors from wire.go:
func newServer() (*Server, error) {
configConfig, err := config.Init()
2025-06-25 15:25:18 +08:00
if err != nil {
return nil, err
}
web := pkg.NewWeb(configConfig)
loggerConfig := configConfig.Logger
slogLogger := logger.NewLogger(loggerConfig)
client, err := store.NewEntDB(configConfig, slogLogger)
if err != nil {
return nil, err
}
redisClient := store.NewRedisCli(configConfig)
proxyRepo := repo.NewProxyRepo(client, redisClient)
2025-07-13 00:05:39 +08:00
modelRepo := repo2.NewModelRepo(client)
2025-07-31 16:13:15 +08:00
securityScanningRepo := repo3.NewSecurityScanningRepo(client)
proxyUsecase := usecase.NewProxyUsecase(proxyRepo, modelRepo, securityScanningRepo, slogLogger, configConfig, redisClient)
llmProxy := proxy.NewLLMProxy(slogLogger, configConfig, proxyUsecase)
2025-07-31 16:13:15 +08:00
openAIRepo := repo4.NewOpenAIRepo(client)
2025-08-28 16:45:23 +08:00
openAIUsecase := openai.NewOpenAIUsecase(configConfig, openAIRepo, modelRepo, slogLogger, redisClient)
2025-07-31 16:13:15 +08:00
extensionRepo := repo5.NewExtensionRepo(client)
2025-07-04 20:17:49 +08:00
extensionUsecase := usecase2.NewExtensionUsecase(extensionRepo, configConfig, slogLogger)
2025-07-16 18:32:36 +08:00
ipdbIPDB, err := ipdb.NewIPDB(slogLogger)
if err != nil {
return nil, err
}
2025-07-31 16:13:15 +08:00
userRepo := repo6.NewUserRepo(client, ipdbIPDB, redisClient, configConfig)
2025-07-31 14:36:19 +08:00
sessionSession := session.NewSession(configConfig)
userUsecase := usecase3.NewUserUsecase(configConfig, redisClient, userRepo, slogLogger, sessionSession)
2025-08-28 16:45:23 +08:00
proxyMiddleware := middleware.NewProxyMiddleware(proxyUsecase, redisClient, slogLogger)
2025-07-31 14:36:19 +08:00
activeMiddleware := middleware.NewActiveMiddleware(redisClient, slogLogger)
v1Handler := v1.NewV1Handler(slogLogger, web, llmProxy, proxyUsecase, openAIUsecase, extensionUsecase, userUsecase, proxyMiddleware, activeMiddleware, configConfig)
modelUsecase := usecase4.NewModelUsecase(slogLogger, modelRepo, configConfig)
2025-08-13 12:06:22 +08:00
authMiddleware := middleware.NewAuthMiddleware(userUsecase, sessionSession, slogLogger)
2025-07-31 14:36:19 +08:00
readOnlyMiddleware := middleware.NewReadOnlyMiddleware(configConfig)
modelHandler := v1_2.NewModelHandler(web, modelUsecase, authMiddleware, activeMiddleware, readOnlyMiddleware, slogLogger)
2025-07-31 16:13:15 +08:00
securityScanningUsecase := usecase5.NewSecurityScanningUsecase(securityScanningRepo)
dashboardRepo := repo7.NewDashboardRepo(client)
dashboardUsecase := usecase6.NewDashboardUsecase(dashboardRepo)
billingRepo := repo8.NewBillingRepo(client)
billingUsecase := usecase7.NewBillingUsecase(billingRepo)
userHandler := v1_3.NewUserHandler(web, userUsecase, extensionUsecase, securityScanningUsecase, dashboardUsecase, billingUsecase, authMiddleware, activeMiddleware, readOnlyMiddleware, sessionSession, slogLogger, configConfig)
2025-07-21 15:04:03 +08:00
dashboardHandler := v1_4.NewDashboardHandler(web, dashboardUsecase, authMiddleware, activeMiddleware)
2025-07-17 16:45:27 +08:00
billingHandler := v1_5.NewBillingHandler(web, billingUsecase, authMiddleware, activeMiddleware)
2025-07-31 16:13:15 +08:00
workspaceFileRepo := repo9.NewWorkspaceFileRepo(client)
workspaceRepo := repo9.NewWorkspaceRepo(client)
workspaceUsecase := usecase8.NewWorkspaceUsecase(workspaceRepo, configConfig, slogLogger)
codeSnippetRepo := repo10.NewCodeSnippetRepo(client, slogLogger)
embeddingService := service.NewOpenAIEmbeddingService(configConfig)
codeSnippetUsecase := usecase9.NewCodeSnippetUsecase(codeSnippetRepo, embeddingService, slogLogger)
2025-07-31 16:13:15 +08:00
workspaceFileUsecase := usecase8.NewWorkspaceFileUsecase(workspaceFileRepo, workspaceUsecase, codeSnippetUsecase, configConfig, slogLogger)
socketHandler, err := handler.NewSocketHandler(configConfig, slogLogger, workspaceFileUsecase, workspaceUsecase, userUsecase)
if err != nil {
return nil, err
}
2025-07-21 16:45:39 +08:00
versionInfo := version.NewVersionInfo()
reporter := report.NewReport(slogLogger, configConfig, versionInfo)
2025-07-31 16:13:15 +08:00
reportRepo := repo11.NewReportRepo(client)
reportUsecase := usecase10.NewReportUsecase(reportRepo, slogLogger, reporter, redisClient)
securityHandler := v1_6.NewSecurityHandler(web, securityScanningUsecase, authMiddleware, activeMiddleware)
codeSnippetHandler := v1_7.NewCodeSnippetHandler(web, codeSnippetUsecase, embeddingService, authMiddleware, activeMiddleware, readOnlyMiddleware, proxyMiddleware, slogLogger)
2025-06-25 15:25:18 +08:00
server := &Server{
config: configConfig,
web: web,
ent: client,
logger: slogLogger,
openaiV1: v1Handler,
modelV1: modelHandler,
userV1: userHandler,
dashboardV1: dashboardHandler,
billingV1: billingHandler,
socketH: socketHandler,
version: versionInfo,
report: reporter,
reportuse: reportUsecase,
euse: extensionUsecase,
2025-07-31 16:13:15 +08:00
securityV1: securityHandler,
codeSnippetV1: codeSnippetHandler,
2025-06-25 15:25:18 +08:00
}
return server, nil
}
// wire.go:
type Server struct {
config *config.Config
web *web.Web
ent *db.Client
logger *slog.Logger
openaiV1 *v1.V1Handler
modelV1 *v1_2.ModelHandler
userV1 *v1_3.UserHandler
dashboardV1 *v1_4.DashboardHandler
billingV1 *v1_5.BillingHandler
socketH *handler.SocketHandler
version *version.VersionInfo
report *report.Reporter
reportuse domain.ReportUsecase
euse domain.ExtensionUsecase
2025-07-31 16:13:15 +08:00
securityV1 *v1_6.SecurityHandler
codeSnippetV1 *v1_7.CodeSnippetHandler
2025-06-25 15:25:18 +08:00
}