package app import ( "git.echol.cn/loser/st/server/api/v1" "git.echol.cn/loser/st/server/middleware" "github.com/gin-gonic/gin" ) type ExtensionRouter struct{} func (r *ExtensionRouter) InitExtensionRouter(Router *gin.RouterGroup) { extensionRouter := Router.Group("extension").Use(middleware.AppJWTAuth()) extensionApi := v1.ApiGroupApp.AppApiGroup.ExtensionApi { // 扩展管理 extensionRouter.POST("", extensionApi.CreateExtension) // 创建/安装扩展 extensionRouter.PUT("/:id", extensionApi.UpdateExtension) // 更新扩展 extensionRouter.DELETE("/:id", extensionApi.DeleteExtension) // 删除/卸载扩展 extensionRouter.GET("/:id", extensionApi.GetExtension) // 获取扩展详情 extensionRouter.GET("/list", extensionApi.GetExtensionList) // 获取扩展列表 extensionRouter.GET("/enabled", extensionApi.GetEnabledExtensions) // 获取启用的扩展列表 // 扩展操作 extensionRouter.POST("/:id/toggle", extensionApi.ToggleExtension) // 启用/禁用扩展 extensionRouter.POST("/:id/update", extensionApi.UpgradeExtension) // 升级扩展版本 // 扩展配置 extensionRouter.GET("/:id/settings", extensionApi.GetExtensionSettings) // 获取扩展配置 extensionRouter.PUT("/:id/settings", extensionApi.UpdateExtensionSettings) // 更新扩展配置 // 扩展元数据 extensionRouter.GET("/:id/manifest", extensionApi.GetExtensionManifest) // 获取 manifest.json // 导入导出 extensionRouter.POST("/import", extensionApi.ImportExtension) // 导入扩展 extensionRouter.GET("/:id/export", extensionApi.ExportExtension) // 导出扩展 // 安装方式 extensionRouter.POST("/install/url", extensionApi.InstallExtensionFromURL) // 从 URL 安装扩展(后端代理) extensionRouter.POST("/install/git", extensionApi.InstallExtensionFromGit) // 从 Git URL 安装扩展 // 统计 extensionRouter.POST("/stats", extensionApi.UpdateExtensionStats) // 更新扩展统计 } }