// 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 wire import ( "dd_fiber_api/config" "github.com/google/wire" ) // Injectors from wire.go: // InitializeApp 初始化应用 func InitializeApp(cfg *config.Config) (*App, error) { redisClient, err := NewRedisClient(cfg) if err != nil { return nil, err } service := NewOSSService(cfg, redisClient) handler := NewOSSHandler(service) wechatPayV3Service, err := NewWechatPayV3Service(cfg) if err != nil { return nil, err } mySQLClient, err := NewMySQLClient(cfg) if err != nil { return nil, err } orderDAO := NewOrderDAO(mySQLClient) userSectionAccessDAO := NewUserSectionAccessDAO(mySQLClient) userCampDAO := NewUserCampDAO(mySQLClient) paymentHandler := NewPaymentHandler(wechatPayV3Service, orderDAO, userSectionAccessDAO, userCampDAO) schedulerService := NewSchedulerService(cfg) schedulerHandler := NewSchedulerHandler(schedulerService) categoryDAO := NewCategoryDAO(mySQLClient) campDAO := NewCampDAO(mySQLClient) categoryService := NewCategoryService(categoryDAO, campDAO) categoryHandler := NewCategoryHandler(categoryService) sectionDAO := NewSectionDAO(mySQLClient) taskDAO := NewTaskDAO(mySQLClient) progressDAO := NewProgressDAO(mySQLClient) mongoDBClient, err := NewMongoDBClient(cfg) if err != nil { return nil, err } answerRecordDAOInterface := NewAnswerRecordDAO(mongoDBClient) questionDAOInterface := NewQuestionDAO(mongoDBClient) answerRecordService := NewAnswerRecordService(answerRecordDAOInterface, questionDAOInterface) paperDAOInterface := NewPaperDAO(mongoDBClient, questionDAOInterface) materialDAOInterface := NewMaterialDAO(mongoDBClient) materialService := NewMaterialService(materialDAOInterface) paperService := NewPaperService(paperDAOInterface, materialService) orderService := NewOrderService(orderDAO, sectionDAO, wechatPayV3Service, userSectionAccessDAO, userCampDAO, schedulerService, cfg) campService := NewCampService(campDAO, sectionDAO, taskDAO, progressDAO, userCampDAO, orderDAO, answerRecordService, paperService, orderService) resetHistoryDAO := NewResetHistoryDAO(mySQLClient) userCampService := NewUserCampService(userCampDAO, sectionDAO, progressDAO, taskDAO, resetHistoryDAO, answerRecordDAOInterface) campHandler := NewCampHandler(campService, userCampService) sectionService := NewSectionService(sectionDAO, campDAO) sectionHandler := NewSectionHandler(sectionService, orderService, orderDAO, userCampDAO) taskService := NewTaskService(taskDAO) taskHandler := NewTaskHandler(taskService) progressService := NewProgressService(progressDAO, taskDAO, userCampDAO, answerRecordService, campService) progressHandler := NewProgressHandler(progressService) userCampHandler := NewUserCampHandler(userCampService) orderHandler := NewOrderHandler(orderService) questionService := NewQuestionService(questionDAOInterface) knowledgeTreeDAOInterface := NewKnowledgeTreeDAO(mongoDBClient) knowledgeTreeService := NewKnowledgeTreeService(knowledgeTreeDAOInterface) questionHandler := NewQuestionHandler(questionService, knowledgeTreeService) paperHandler := NewPaperHandler(paperService) answerRecordHandler := NewAnswerRecordHandler(answerRecordService) adminUserDAO := NewAdminUserDAO(mySQLClient) authService := NewAuthService(adminUserDAO, cfg) authHandler := NewAuthHandler(authService) statisticsService := NewStatisticsService(mySQLClient, campDAO, questionDAOInterface, paperDAOInterface) statisticsHandler := NewStatisticsHandler(statisticsService) adminUserService := NewAdminUserService(adminUserDAO) adminUserHandler := NewAdminUserHandler(adminUserService) roleDAO := NewRoleDAO(mySQLClient) roleService := NewRoleService(roleDAO) roleHandler := NewRoleHandler(roleService) permissionDAO := NewPermissionDAO(mySQLClient) permissionService := NewPermissionService(permissionDAO) permissionHandler := NewPermissionHandler(permissionService) materialHandler := NewMaterialHandler(materialService) knowledgeTreeHandler := NewKnowledgeTreeHandler(knowledgeTreeService) folderDAO := NewFolderDAO(mySQLClient) fileDAO := NewFileDAO(mySQLClient) documentService := NewDocumentService(folderDAO, fileDAO) handlerHandler := NewDocumentHandler(documentService) adminApp := NewAdminApp(cfg, handler, paymentHandler, schedulerHandler, categoryHandler, campHandler, sectionHandler, taskHandler, progressHandler, userCampHandler, orderHandler, questionHandler, paperHandler, answerRecordHandler, authHandler, authService, statisticsHandler, adminUserHandler, roleHandler, permissionHandler, materialHandler, knowledgeTreeHandler, handlerHandler) apiApp := NewAPIApp(cfg, handler, paymentHandler, schedulerHandler, categoryHandler, campHandler, sectionHandler, taskHandler, progressHandler, userCampHandler, orderHandler, questionHandler, paperHandler, answerRecordHandler) app := NewApp(adminApp, apiApp, cfg, mySQLClient, mongoDBClient, redisClient) return app, nil } // wire.go: // AppSet 应用依赖集合 var AppSet = wire.NewSet( NewMySQLClient, NewMongoDBClient, NewRedisClient, NewOSSService, NewOSSHandler, NewWechatPayV3Service, NewPaymentHandler, NewSchedulerService, NewSchedulerHandler, NewCategoryDAO, NewCategoryService, NewCategoryHandler, NewCampDAO, NewCampService, NewCampHandler, NewSectionDAO, NewSectionService, NewSectionHandler, NewTaskDAO, NewTaskService, NewTaskHandler, NewProgressDAO, NewProgressService, NewProgressHandler, NewUserCampDAO, NewResetHistoryDAO, NewUserCampService, NewUserCampHandler, NewUserSectionAccessDAO, NewOrderDAO, NewOrderService, NewOrderHandler, NewQuestionDAO, NewQuestionService, NewQuestionHandler, NewPaperDAO, NewPaperService, NewPaperHandler, NewAnswerRecordDAO, NewAnswerRecordService, NewAnswerRecordHandler, NewMaterialDAO, NewMaterialService, NewMaterialHandler, NewKnowledgeTreeDAO, NewKnowledgeTreeService, NewKnowledgeTreeHandler, NewAdminUserDAO, NewAuthService, NewAuthHandler, NewAdminUserService, NewAdminUserHandler, NewRoleDAO, NewRoleService, NewRoleHandler, NewPermissionDAO, NewPermissionService, NewPermissionHandler, NewStatisticsService, NewStatisticsHandler, NewFolderDAO, NewFileDAO, NewDocumentService, NewDocumentHandler, )