Files
st/server/router/app/provider.go

50 lines
2.2 KiB
Go

package app
import (
v1 "git.echol.cn/loser/st/server/api/v1"
"git.echol.cn/loser/st/server/middleware"
"github.com/gin-gonic/gin"
)
type ProviderRouter struct{}
func (pr *ProviderRouter) InitProviderRouter(Router *gin.RouterGroup) {
providerApi := v1.ApiGroupApp.AppApiGroup.ProviderApi
// 公开接口(不需要登录)
providerPublicRouter := Router.Group("provider")
{
providerPublicRouter.GET("/types", providerApi.GetProviderTypes) // 获取支持的提供商类型
providerPublicRouter.GET("/presetModels", providerApi.GetPresetModels) // 获取预设模型列表
}
// 需要登录的接口
providerAuthRouter := Router.Group("provider").Use(middleware.AppJWTAuth())
{
// 提供商 CRUD
providerAuthRouter.POST("", providerApi.CreateProvider) // 创建提供商
providerAuthRouter.GET("/list", providerApi.GetProviderList) // 获取列表
providerAuthRouter.GET("/:id", providerApi.GetProviderDetail) // 获取详情
providerAuthRouter.PUT("", providerApi.UpdateProvider) // 更新提供商
providerAuthRouter.DELETE("/:id", providerApi.DeleteProvider) // 删除提供商
providerAuthRouter.POST("/setDefault", providerApi.SetDefaultProvider) // 设置默认
// 连通性测试
providerAuthRouter.POST("/test", providerApi.TestProvider) // 测试连接(不需要先保存)
providerAuthRouter.GET("/test/:id", providerApi.TestExistingProvider) // 测试已保存的连接
// 远程模型获取
providerAuthRouter.POST("/fetchModels", providerApi.FetchRemoteModels) // 获取远程模型列表
providerAuthRouter.GET("/fetchModels/:id", providerApi.FetchRemoteModelsExisting) // 获取已保存提供商的远程模型
// 测试消息
providerAuthRouter.POST("/testMessage", providerApi.SendTestMessage) // 发送测试消息
providerAuthRouter.POST("/testMessage/:id", providerApi.SendTestMessageExisting) // 已保存提供商发测试消息
// 模型管理
providerAuthRouter.POST("/model", providerApi.AddModel) // 添加模型
providerAuthRouter.PUT("/model", providerApi.UpdateModel) // 更新模型
providerAuthRouter.DELETE("/model/:id", providerApi.DeleteModel) // 删除模型
}
}