package router import ( "os" "github.com/gin-gonic/gin" log "github.com/go-admin-team/go-admin-core/logger" "github.com/go-admin-team/go-admin-core/sdk" "github.com/go-admin-team/go-admin-core/sdk/config" jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth" "go-admin/app/bell/integration/event_ingress" "go-admin/app/bell/synthetic" "go-admin/common/middleware" ) type registrar func(*gin.RouterGroup, *jwt.GinJWTMiddleware) var registrars = []registrar{registerEventRouter} func InitRouter() { engine, ok := sdk.Runtime.GetEngine().(*gin.Engine) if !ok || engine == nil { log.Error("Bell business router requires Gin engine") return } authMiddleware, err := middleware.AuthInit() if err != nil { log.Errorf("Bell business JWT init error: %v", err) return } v1 := engine.Group("/api/v1/bell") for _, register := range registrars { register(v1, authMiddleware) } if err := event_ingress.RegisterRuntime(engine); err != nil { log.Errorf("Bell event ingress init error: %v", err) } if synthetic.Enabled(config.ApplicationConfig.Mode, os.Getenv) { registerSyntheticRouter(v1, authMiddleware) } }