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
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) // 获取统计信息 |
|
} |
|
} |
|
}
|
|
|