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.
 
 
 
 
 
 

40 lines
1.9 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"
)
// RegisterFrontendRouteRoutes 注册前台路由相关路由
func RegisterFrontendRouteRoutes(router *gin.RouterGroup, db *gorm.DB, logger *zap.Logger) {
// 初始化依赖
frontendRouteRepo := repository.NewFrontendRouteRepository(db)
frontendBackendRouteRepo := repository.NewFrontendBackendRouteRepository(db)
frontendRouteService := service.NewFrontendRouteService(frontendRouteRepo, frontendBackendRouteRepo, logger)
frontendRouteController := controller.NewFrontendRouteController(frontendRouteService, logger)
// 前台路由路由组
frontendRouteGroup := router.Group("/frontend-routes")
{
// 前台路由同步(系统初始化操作,不需要认证)
{
frontendRouteGroup.POST("/sync", frontendRouteController.SyncFrontendRoute) // 同步单个前台路由
frontendRouteGroup.POST("/batch-sync", frontendRouteController.BatchSyncFrontendRoutes) // 批量同步前台路由
}
// 前台路由查询(需要认证)
{
frontendRouteGroup.GET("", frontendRouteController.GetFrontendRoutes) // 获取前台路由列表
frontendRouteGroup.GET("/:id", frontendRouteController.GetFrontendRouteByID) // 根据ID获取前台路由
frontendRouteGroup.GET("/by-module", frontendRouteController.GetFrontendRoutesByModule) // 根据模块获取前台路由
frontendRouteGroup.GET("/relations", frontendRouteController.GetRouteRelations) // 获取路由关联关系
frontendRouteGroup.GET("/:id/relations", frontendRouteController.GetRouteRelationsByFrontendRouteID) // 根据前台路由ID获取关联关系
frontendRouteGroup.GET("/stats", frontendRouteController.GetStats) // 获取统计信息
}
}
}