Files

43 lines
1.1 KiB
Go

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)
}
}