// 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 main import ( "github.com/go-kratos/kratos/v3" "kra/internal/app" integration3 "kra/internal/biz/integration" payment2 "kra/internal/biz/payment" system2 "kra/internal/biz/system" task2 "kra/internal/biz/task" "kra/internal/config" "kra/internal/data" "kra/internal/data/integration" "kra/internal/data/payment" "kra/internal/data/system" "kra/internal/data/task" "kra/internal/initialize" integration2 "kra/internal/integration" "kra/internal/integration/cache" "kra/internal/integration/email" "kra/internal/integration/mq" "kra/internal/integration/storage" "kra/internal/integration/websocket" "kra/internal/modules" "kra/internal/server" "kra/internal/server/handler" "kra/internal/server/router" integration4 "kra/internal/service/integration" payment3 "kra/internal/service/payment" system3 "kra/internal/service/system" task3 "kra/internal/service/task" "kra/internal/worker" "kra/pkg/logging" "log/slog" ) import ( _ "go.uber.org/automaxprocs" ) // Injectors from wire.go: // wireApp init kratos application. func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logger, reloadableLogger *logging.ReloadableLogger, string2 string) (*kratos.App, func(), error) { reloadable, err := storage.NewFileStorage(store) if err != nil { return nil, nil, err } catalog := modules.Catalog() dataData, cleanup, err := data.NewData(store, logger, reloadable, catalog) if err != nil { return nil, nil, err } authorityAccessRepo := system.NewAuthorityAccessRepo(dataData) apiRepo := system.NewAPIRepo(dataData) accessControlUsecase := system2.NewAccessControlUsecase(authorityAccessRepo, apiRepo) v := system3.NewAccessControlService(accessControlUsecase) userRepo := system.NewUserRepo(dataData) userUsecase := system2.NewUserUsecase(userRepo) securityRepo := system.NewSecurityRepo(dataData) systemCache := cache.New(dataData) runtimeSettings := system.NewRuntimeSettings(store) apiTokenRepo := system.NewAPITokenRepo(dataData) tokenUsecase := system2.NewTokenUsecase(apiTokenRepo) securityUsecase := system2.NewSecurityUsecase(securityRepo, systemCache, runtimeSettings, tokenUsecase) tokenIssuer := system.NewTokenIssuer(runtimeSettings) auditRecordRepo := system.NewAuditRecorderRepo(dataData) authenticationUsecase := system2.NewAuthenticationUsecase(userUsecase, securityUsecase, tokenIssuer, auditRecordRepo) authService := system3.NewAuthService(authenticationUsecase) v2 := system3.NewSecurityService(securityUsecase) auditRecorderUsecase := system2.NewAuditRecorderUsecase(auditRecordRepo) v3 := system3.NewAuditRecorder(auditRecorderUsecase) authorityUsecase := system2.NewAuthorityUsecase(authorityAccessRepo) v4 := system3.NewAuthorityService(authorityUsecase) authority := handler.NewAuthority(v4) menuRepo := system.NewMenuRepo(dataData) menuUsecase := system2.NewMenuUsecase(menuRepo) v5 := system3.NewMenuService(menuUsecase) menu := handler.NewMenu(v5) apiUsecase := system2.NewAPIUsecase(apiRepo) v6 := system3.NewAPIService(apiUsecase, runtimeSettings) api := handler.NewAPI(v6) permissionRepo := system.NewPermissionRepo(dataData) permissionUsecase := system2.NewPermissionUsecase(permissionRepo) v7 := system3.NewPermissionService(permissionUsecase) permission := handler.NewPermission(v7) departmentRepo := system.NewDepartmentRepo(dataData) departmentUsecase := system2.NewDepartmentUsecase(departmentRepo) v8 := system3.NewDepartmentService(departmentUsecase) positionRepo := system.NewPositionRepo(dataData) positionUsecase := system2.NewPositionUsecase(positionRepo) v9 := system3.NewPositionService(positionUsecase) organization := handler.NewOrganization(v8, v9) announcementRepo := system.NewAnnouncementRepo(dataData) announcementUsecase := system2.NewAnnouncementUsecase(announcementRepo) v10 := system3.NewAnnouncementService(announcementUsecase) announcement := handler.NewAnnouncement(v10) emailRepo := email.NewEmailRepo(store) emailUsecase := system2.NewEmailUsecase(emailRepo) v11 := system3.NewEmailService(emailUsecase) handlerEmail := handler.NewEmail(v11) paymentConfigReader := integration.NewPaymentConfigReader(dataData) paymentRepo := payment.NewPaymentRepo(dataData, paymentConfigReader) paymentOrderRepo := payment.NewPaymentOrderRepo(dataData) paymentUsecase := payment2.NewPaymentUsecase(paymentRepo, paymentOrderRepo, logger) v12 := payment3.NewPaymentService(paymentUsecase) handlerPayment := handler.NewPayment(v12) taskRepo := task.NewTaskRepo(dataData) registry := app.TaskRegistry(catalog) taskUsecase := task2.NewTaskUsecaseWithRegistry(taskRepo, registry) taskExecutor := worker.NewTaskExecutorWithRegistry(taskUsecase, registry) taskScheduler := worker.NewTaskScheduler(taskUsecase, authorityUsecase, taskExecutor, logger) taskRuntime := worker.NewTaskRuntime(taskScheduler) taskApplicationUsecase := task2.NewTaskApplicationUsecase(taskUsecase, taskRuntime) v13 := task3.NewTaskService(taskApplicationUsecase) handlerTask := handler.NewTask(v13) mediaRepo := system.NewMediaRepo(dataData) mediaUsecase := system2.NewMediaUsecase(mediaRepo, reloadable, runtimeSettings) v14 := system3.NewMediaService(mediaUsecase, runtimeSettings) media := handler.NewMedia(v14) auditQueryRepo := system.NewAuditRepo(dataData) auditUsecase := system2.NewAuditUsecase(auditQueryRepo) v15 := system3.NewAuditService(auditUsecase) logFileRepo := system.NewLogFileRepo(dataData) logViewerUsecase := system2.NewLogViewerUsecase(logFileRepo) v16 := system3.NewLogViewerService(logViewerUsecase) audit := handler.NewAudit(v15, v3, v16, logger) exportRepo := system.NewExportRepo(dataData) exportUsecase := system2.NewExportUsecase(exportRepo) v17 := system3.NewExportService(exportUsecase, systemCache) export := handler.NewExport(v17) versionRepo := system.NewVersionRepo(dataData) versionUsecase := system2.NewVersionUsecase(versionRepo) v18 := system3.NewVersionService(versionUsecase) version := handler.NewVersion(v18) dictionaryRepo := system.NewDictionaryRepo(dataData) dictionaryUsecase := system2.NewDictionaryUsecase(dictionaryRepo) v19 := system3.NewDictionaryService(dictionaryUsecase) dictionary := handler.NewDictionary(v19) parameterRepo := system.NewParameterRepo(dataData) parameterUsecase := system2.NewParameterUsecase(parameterRepo) v20 := system3.NewParameterService(parameterUsecase) parameter := handler.NewParameter(v20) v21 := system3.NewTokenService(tokenUsecase, tokenIssuer) apiToken := handler.NewAPIToken(v21) initializationRepo := initialize.NewRepo(dataData, catalog) taskReloader := worker.NewTaskReloader(taskScheduler) systemConfigUsecase := system2.NewSystemConfigUsecase(initializationRepo, taskReloader) v22 := system3.NewSystemConfigService(systemConfigUsecase, runtimeSettings) systemConfig := handler.NewSystemConfig(v22, v2) public := handler.NewPublic(authService, v22, v2) v23 := system3.NewUserService(userUsecase, v2) user := handler.NewUser(v23, authService) navigation := handler.NewNavigation(v23) session := handler.NewSession(v21) integrationConfigRepo := integration.NewIntegrationConfigRepo(dataData) runtimeconfigStore := data.NewIntegrationRuntime(dataData) connectivityTester := integration2.NewConnectivityTester(runtimeconfigStore) integrationConfigUsecase := integration3.NewIntegrationConfigUsecase(integrationConfigRepo, connectivityTester) v24 := integration4.NewIntegrationConfigService(integrationConfigUsecase) integrationConfig := handler.NewIntegrationConfig(v24) v25 := handler.NewSet(authority, menu, api, permission, organization, announcement, handlerEmail, handlerPayment, handlerTask, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session, integrationConfig) routes := router.NewRoutes(v25) maintenanceRepo := system.NewMaintenanceRepo(dataData) maintenanceUsecase := system2.NewMaintenanceUsecase(maintenanceRepo) taskMethods := worker.NewTaskMethods(taskUsecase, maintenanceUsecase, mediaUsecase, store) composition := runtimeContributions(routes, taskMethods) runtime := app.Build(composition, registry) websocketServer, cleanup2, err := websocket.New(runtimeconfigStore) if err != nil { cleanup() return nil, nil, err } engine := server.NewGinEngineWithRuntime(store, v, authService, v2, v3, logger, string2, runtime, websocketServer) httpServer := server.NewGinServer(configServer, engine) mqReloadable, cleanup3, err := mq.New(runtimeconfigStore, logger) if err != nil { cleanup2() cleanup() return nil, nil, err } kratosApp := newApp(logger, httpServer, taskScheduler, v3, reloadableLogger, mqReloadable) return kratosApp, func() { cleanup3() cleanup2() cleanup() }, nil }