Files
tyapi-server/internal/infrastructure/http/routes/ui_component_routes.go

57 lines
2.5 KiB
Go
Raw Normal View History

2025-12-19 17:05:09 +08:00
package routes
import (
"go.uber.org/zap"
"tyapi-server/internal/infrastructure/http/handlers"
2025-12-19 17:50:29 +08:00
sharedhttp "tyapi-server/internal/shared/http"
"tyapi-server/internal/shared/middleware"
2025-12-19 17:05:09 +08:00
)
// UIComponentRoutes UI组件路由
type UIComponentRoutes struct {
uiComponentHandler *handlers.UIComponentHandler
logger *zap.Logger
2025-12-19 17:50:29 +08:00
auth *middleware.JWTAuthMiddleware
admin *middleware.AdminAuthMiddleware
2025-12-19 17:05:09 +08:00
}
// NewUIComponentRoutes 创建UI组件路由
func NewUIComponentRoutes(
uiComponentHandler *handlers.UIComponentHandler,
logger *zap.Logger,
2025-12-19 17:50:29 +08:00
auth *middleware.JWTAuthMiddleware,
admin *middleware.AdminAuthMiddleware,
2025-12-19 17:05:09 +08:00
) *UIComponentRoutes {
return &UIComponentRoutes{
uiComponentHandler: uiComponentHandler,
logger: logger,
2025-12-19 17:50:29 +08:00
auth: auth,
admin: admin,
2025-12-19 17:05:09 +08:00
}
}
// RegisterRoutes 注册UI组件路由
2025-12-19 17:50:29 +08:00
func (r *UIComponentRoutes) Register(router *sharedhttp.GinRouter) {
// 管理员路由组
engine := router.GetEngine()
uiComponentGroup := engine.Group("/api/v1/admin/ui-components")
uiComponentGroup.Use(r.admin.Handle()) // 管理员权限验证
2025-12-19 17:05:09 +08:00
{
// UI组件管理
uiComponentGroup.POST("", r.uiComponentHandler.CreateUIComponent) // 创建UI组件
uiComponentGroup.POST("/create-with-file", r.uiComponentHandler.CreateUIComponentWithFile) // 创建UI组件并上传文件
uiComponentGroup.GET("", r.uiComponentHandler.ListUIComponents) // 获取UI组件列表
uiComponentGroup.GET("/:id", r.uiComponentHandler.GetUIComponent) // 获取UI组件详情
uiComponentGroup.PUT("/:id", r.uiComponentHandler.UpdateUIComponent) // 更新UI组件
uiComponentGroup.DELETE("/:id", r.uiComponentHandler.DeleteUIComponent) // 删除UI组件
// 文件操作
uiComponentGroup.POST("/:id/upload", r.uiComponentHandler.UploadUIComponentFile) // 上传UI组件文件
uiComponentGroup.POST("/:id/upload-extract", r.uiComponentHandler.UploadAndExtractUIComponentFile) // 上传并解压UI组件文件
uiComponentGroup.GET("/:id/folder-content", r.uiComponentHandler.GetUIComponentFolderContent) // 获取UI组件文件夹内容
uiComponentGroup.DELETE("/:id/folder", r.uiComponentHandler.DeleteUIComponentFolder) // 删除UI组件文件夹
uiComponentGroup.GET("/:id/download", r.uiComponentHandler.DownloadUIComponentFile) // 下载UI组件文件
}
}