From feb40db2bc41820a40bf97edb0caefc096b95544 Mon Sep 17 00:00:00 2001 From: "1808837298@qq.com" <1808837298@qq.com> Date: Thu, 29 Feb 2024 19:21:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20"/v1/models"=20=E5=8F=AA=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E7=94=A8=E6=88=B7=E5=8F=AF=E7=94=A8=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=20(close=20#78)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/model.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/controller/model.go b/controller/model.go index d98d711..8909de4 100644 --- a/controller/model.go +++ b/controller/model.go @@ -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, }) }