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.
|
|
|
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) {
|
|
|
|
// 初始化依赖
|
|
|
|
resourceRepo := repository.NewResourceRepository(db)
|
|
|
|
frontendBackendRouteRepo := repository.NewFrontendBackendRouteRepository(db)
|
|
|
|
routeSyncService := service.NewRouteSyncService(resourceRepo, frontendBackendRouteRepo, 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) // 获取路由映射列表
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|