fix: channel listing

This commit is contained in:
ckt1031 2023-07-24 00:15:58 +08:00
parent 657de89219
commit 082dd33ffa
3 changed files with 16 additions and 10 deletions

View File

@ -332,13 +332,14 @@ func init() {
} }
} }
func ListModels(c *gin.Context) { func ListModels(c *gin.Context, isChannel bool) {
userId := c.GetInt("id") userId := c.GetInt("id")
userGroup, _ := model.CacheGetUserGroup(userId) userGroup, _ := model.CacheGetUserGroup(userId)
// Only return the models that the channel and user have access to // Only return the models that the channel and user have access to
var modalList []OpenAIModels var modalList []OpenAIModels
if !isChannel {
for _, modalData := range openAIModels { for _, modalData := range openAIModels {
channel, err := model.CacheGetRandomSatisfiedChannel(userGroup, modalData.Id) channel, err := model.CacheGetRandomSatisfiedChannel(userGroup, modalData.Id)
@ -350,6 +351,7 @@ func ListModels(c *gin.Context) {
modalList = append(modalList, modalData) modalList = append(modalList, modalData)
} }
} }
}
c.JSON(200, gin.H{ c.JSON(200, gin.H{
"object": "list", "object": "list",

View File

@ -65,7 +65,9 @@ func SetApiRouter(router *gin.Engine) {
{ {
channelRoute.GET("/", controller.GetAllChannels) channelRoute.GET("/", controller.GetAllChannels)
channelRoute.GET("/search", controller.SearchChannels) channelRoute.GET("/search", controller.SearchChannels)
channelRoute.GET("/models", controller.ListModels) channelRoute.GET("/models", func(c *gin.Context) {
controller.ListModels(c, true)
})
channelRoute.GET("/:id", controller.GetChannel) channelRoute.GET("/:id", controller.GetChannel)
channelRoute.GET("/test", controller.TestAllChannels) channelRoute.GET("/test", controller.TestAllChannels)
channelRoute.GET("/test/:id", controller.TestChannel) channelRoute.GET("/test/:id", controller.TestChannel)

View File

@ -12,7 +12,9 @@ func SetRelayRouter(router *gin.Engine) {
modelsRouter := router.Group("/v1/models") modelsRouter := router.Group("/v1/models")
modelsRouter.Use(middleware.TokenAuth()) modelsRouter.Use(middleware.TokenAuth())
{ {
modelsRouter.GET("/", controller.ListModels) modelsRouter.GET("/", func(c *gin.Context) {
controller.ListModels(c, false)
})
modelsRouter.GET("/:model", controller.RetrieveModel) modelsRouter.GET("/:model", controller.RetrieveModel)
} }
relayV1Router := router.Group("/v1") relayV1Router := router.Group("/v1")