| 123456789101112131415161718192021222324252627282930 |
- package routes
- import (
- "github.com/Wei-Shaw/sub2api/internal/handler"
- "github.com/Wei-Shaw/sub2api/internal/server/middleware"
- "github.com/Wei-Shaw/sub2api/internal/service"
- "github.com/gin-gonic/gin"
- )
- // RegisterModelPlazaRoutes 注册模型广场路由。
- //
- // 挂 OptionalJWT:匿名可访问(开关与 require_auth 由 handler fail-closed 判定),
- // 带 token 则识别用户以展示专属分组与个人倍率。
- // BackendModeUserGuard 保证 backend 模式下广场不对非管理员开放(匿名无 role → 403)。
- func RegisterModelPlazaRoutes(
- v1 *gin.RouterGroup,
- h *handler.Handlers,
- optionalJWT middleware.OptionalJWTAuthMiddleware,
- settingService *service.SettingService,
- panelRateLimiter *middleware.PanelRateLimiter,
- ) {
- plaza := v1.Group("/model-plaza")
- plaza.Use(panelRateLimiter.PublicIP())
- plaza.Use(gin.HandlerFunc(optionalJWT))
- plaza.Use(middleware.BackendModeUserGuard(settingService))
- {
- plaza.GET("", h.ModelPlaza.Get)
- }
- }
|