// 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 provider import ( adminController "github.com/echochat/backend/app/admin/controller" adminDAO "github.com/echochat/backend/app/admin/dao" adminService "github.com/echochat/backend/app/admin/service" "github.com/echochat/backend/app/auth/controller" "github.com/echochat/backend/app/auth/dao" "github.com/echochat/backend/app/auth/service" "github.com/echochat/backend/config" "github.com/echochat/backend/pkg/db" ) // Injectors from wire.go: // InitializeApp 初始化整个应用(Wire 自动生成实现) func InitializeApp(cfg *config.Config) (*App, error) { databaseConfig := provideDBConfig(cfg) gormDB, err := db.NewPostgres(databaseConfig) if err != nil { return nil, err } redisConfig := provideRedisConfig(cfg) client, err := db.NewRedis(redisConfig) if err != nil { return nil, err } userDAO := dao.NewUserDAO(gormDB) roleDAO := dao.NewRoleDAO(gormDB) jwtConfig := provideJWTConfig(cfg) tokenStore := service.NewTokenStore(client, jwtConfig) authService := service.NewAuthService(userDAO, roleDAO, jwtConfig, tokenStore) authController := controller.NewAuthController(authService) adminAuthController := controller.NewAdminAuthController(authService) userManageDAO := adminDAO.NewUserManageDAO(gormDB) userManageService := adminService.NewUserManageService(userManageDAO, userDAO, roleDAO) userManageController := adminController.NewUserManageController(userManageService) app := NewApp(cfg, gormDB, client, authService, authController, adminAuthController, userManageController) return app, nil }