43 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|