mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-11 01:36:37 +08:00
49d32d0b25
Unify OpenFlare console auth to user.IsAdmin and token_admin instead of the legacy Admin/Root role tiers. Route groups now use apiutil.AdminMiddlewares (LoginRequired + LoginAdminRequired) so admin checks cannot be skipped. Add middleware tests and extend integration coverage for 401/404/400 responses.
35 lines
1.3 KiB
Go
35 lines
1.3 KiB
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package openflare
|
|
|
|
import (
|
|
"github.com/Rain-kl/Wavelet/internal/apps/openflare/apiutil"
|
|
"github.com/Rain-kl/Wavelet/internal/apps/openflare/waf"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func registerWAFRoutes(apiGroup *gin.RouterGroup) {
|
|
wafRoute := apiGroup.Group("/waf")
|
|
wafRoute.Use(apiutil.AdminMiddlewares()...)
|
|
{
|
|
wafRoute.GET("/ip-groups", waf.ListIPGroupsHandler)
|
|
wafRoute.GET("/ip-groups/:id", waf.GetIPGroupHandler)
|
|
wafRoute.POST("/ip-groups", waf.CreateIPGroupHandler)
|
|
wafRoute.POST("/ip-groups/test", waf.TestIPGroupAutoConfigHandler)
|
|
wafRoute.POST("/ip-groups/:id/update", waf.UpdateIPGroupHandler)
|
|
wafRoute.POST("/ip-groups/:id/delete", waf.DeleteIPGroupHandler)
|
|
wafRoute.POST("/ip-groups/:id/sync", waf.SyncIPGroupHandler)
|
|
|
|
wafRoute.GET("/rule-groups", waf.ListRuleGroupsHandler)
|
|
wafRoute.GET("/rule-groups/:id", waf.GetRuleGroupHandler)
|
|
wafRoute.POST("/rule-groups", waf.CreateRuleGroupHandler)
|
|
wafRoute.POST("/rule-groups/:id/update", waf.UpdateRuleGroupHandler)
|
|
wafRoute.POST("/rule-groups/:id/delete", waf.DeleteRuleGroupHandler)
|
|
wafRoute.POST("/rule-groups/:id/sites", waf.ReplaceRuleGroupSitesHandler)
|
|
|
|
wafRoute.GET("/sites/:route_id/rule-groups", waf.GetSiteRuleGroupsHandler)
|
|
wafRoute.POST("/sites/:route_id/rule-groups", waf.ReplaceSiteRuleGroupsHandler)
|
|
}
|
|
}
|