gin_demo/di/wire_gen.go
2026-03-27 10:42:46 +08:00

52 lines
1.1 KiB
Go

package di
import (
"gin_test/event"
"gin_test/model"
usermod "gin_test/modules/user"
"gin_test/pkg/jwt"
)
// Code generated by hand (wire-equivalent initializer).
// It expands InitializeApp wiring graph into explicit constructor calls.
func InitializeApp() (*App, error) {
cfg, err := ProvideConfig()
if err != nil {
return nil, err
}
dbCfg := ProvideDBConfig(cfg)
db, err := model.OpenDB(dbCfg)
if err != nil {
return nil, err
}
migratedVal, err := ProvideMigrated(db)
if err != nil {
_ = db.Close()
return nil, err
}
bus := event.NewDispatcher()
jwtSvc := jwt.NewService(
ProvideJWTSecret(cfg),
ProvideJWTExpirySeconds(cfg),
)
tokenListenerRegistered := ProvideTokenIssueListener(bus, jwtSvc)
jwtMiddleware := ProvideJWTMiddleware(jwtSvc, tokenListenerRegistered)
userRepo := usermod.NewUserRepo(db)
userSvc := usermod.NewService(userRepo, bus)
userHandler := usermod.NewHandler(userSvc)
router := ProvideRouter(cfg, userHandler, jwtMiddleware)
durations := ProvideServerDurations(cfg)
server := ProvideHTTPServer(cfg, router, durations, migratedVal)
app := ProvideApp(db, server, durations)
return app, nil
}