// 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 ( "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) authService := service.NewAuthService(userDAO, roleDAO, jwtConfig) authController := controller.NewAuthController(authService) adminAuthController := controller.NewAdminAuthController(authService) app := NewApp(cfg, gormDB, client, authService, authController, adminAuthController) return app, nil }