You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
1.3 KiB

package routes
import (
"gofaster/internal/auth/controller"
"gofaster/internal/auth/repository"
"gofaster/internal/auth/service"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"gorm.io/gorm"
)
// RegisterRouteSyncRoutes 注册路由同步相关路由
func RegisterRouteSyncRoutes(router *gin.RouterGroup, db *gorm.DB, logger *zap.Logger) {
// 初始化依赖
routeMappingRepo := repository.NewRouteMappingRepository(db)
resourceRepo := repository.NewResourceRepository(db)
routeSyncService := service.NewRouteSyncService(routeMappingRepo, resourceRepo, logger)
routeSyncController := controller.NewRouteSyncController(routeSyncService, logger)
// 路由同步路由组
routeSyncGroup := router.Group("/route-mappings")
{
// 临时移除认证要求,用于开发测试
// TODO: 后续添加认证逻辑
// routeSyncGroup.Use(middleware.JWTAuth())
{
// 路由映射同步
routeSyncGroup.POST("/sync", routeSyncController.SyncRouteMapping) // 同步单个路由映射
routeSyncGroup.POST("/batch-sync", routeSyncController.BatchSyncRouteMappings) // 批量同步路由映射
routeSyncGroup.GET("/sync-status", routeSyncController.GetSyncStatus) // 获取同步状态
routeSyncGroup.GET("/mappings", routeSyncController.GetRouteMappings) // 获取路由映射列表
}
}
}