// 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/biz" "kra/internal/conf" "kra/internal/data" "kra/internal/server" "kra/internal/service" "log/slog" ) import ( _ "go.uber.org/automaxprocs" ) // Injectors from wire.go: // wireApp init kratos application. func wireApp(confServer *conf.Server, confData *conf.Data, adminBackend *conf.AdminBackend, logger *slog.Logger) (*kratos.App, func(), error) { dataData, cleanup, err := data.NewData(confData, adminBackend) if err != nil { return nil, nil, err } adminRepo := data.NewAdminRepo(dataData) adminUsecase := biz.NewAdminUsecase(adminRepo) adminService := service.NewAdminService(adminUsecase) grpcServer := server.NewGRPCServer(confServer, adminService) systemRepo := data.NewSystemRepo(dataData) cache := data.NewCache(dataData) fileStorage, err := data.NewFileStorage(adminBackend) if err != nil { cleanup() return nil, nil, err } systemUsecase := biz.NewSystemUsecase(systemRepo, cache, fileStorage) settingsRepo := data.NewSettingsRepo(dataData) settingsUsecase := biz.NewSettingsUsecase(settingsRepo) settingsService := service.NewSettingsService(settingsUsecase, adminBackend) systemService := service.NewSystemService(systemUsecase, adminBackend, settingsService) accessRepo := data.NewAccessRepo(dataData) accessUsecase := biz.NewAccessUsecase(accessRepo) accessService := service.NewAccessService(accessUsecase) versionRepo := data.NewVersionRepo(dataData) versionUsecase := biz.NewVersionUsecase(versionRepo) versionService := service.NewVersionService(versionUsecase) exportRepo := data.NewExportRepo(dataData) exportUsecase := biz.NewExportUsecase(exportRepo) exportService := service.NewExportService(exportUsecase) auditRepo := data.NewAuditRepo(dataData) auditUsecase := biz.NewAuditUsecase(auditRepo) auditService := service.NewAuditService(auditUsecase) taskRepo := data.NewTaskRepo(dataData) taskUsecase := biz.NewTaskUsecase(taskRepo) taskService := service.NewTaskService(taskUsecase) mediaRepo := data.NewMediaRepo(dataData) mediaUsecase := biz.NewMediaUsecase(mediaRepo, fileStorage) mediaService := service.NewMediaService(mediaUsecase) announcementRepo := data.NewAnnouncementRepo(dataData) announcementUsecase := biz.NewAnnouncementUsecase(announcementRepo) announcementService := service.NewAnnouncementService(announcementUsecase) emailRepo := data.NewEmailRepo(adminBackend) emailUsecase := biz.NewEmailUsecase(emailRepo) emailService := service.NewEmailService(emailUsecase) taskScheduler := server.NewTaskScheduler(taskService, logger) ginServer := server.NewGinServer(confServer, adminBackend, systemService, accessService, settingsService, versionService, exportService, auditService, taskService, mediaService, announcementService, emailService, taskScheduler, logger) app := newApp(logger, grpcServer, ginServer, taskScheduler) return app, func() { cleanup() }, nil }