feat: "/v1/models" 只返回用户可用模型 (close #78)

This commit is contained in:
1808837298@qq.com 2024-02-29 19:21:22 +08:00
parent b4645d1019
commit feb40db2bc

View File

@ -3,7 +3,9 @@ package controller
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
"one-api/dto"
"one-api/model"
"one-api/relay"
"one-api/relay/channel/ai360"
"one-api/relay/channel/moonshot"
@ -105,9 +107,25 @@ func init() {
}
func ListModels(c *gin.Context) {
userId := c.GetInt("id")
user, err := model.GetUserById(userId, true)
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": err.Error(),
})
return
}
models := model.GetGroupModels(user.Group)
userOpenAiModels := make([]OpenAIModels, 0)
for _, s := range models {
if _, ok := openAIModelsMap[s]; ok {
userOpenAiModels = append(userOpenAiModels, openAIModelsMap[s])
}
}
c.JSON(200, gin.H{
"object": "list",
"data": openAIModels,
"data": userOpenAiModels,
})
}