50 lines
2.2 KiB
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) // 删除模型
|
|
}
|
|
}
|