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,22 +332,24 @@ func init() {
}
}
func ListModels(c *gin.Context) {
func ListModels(c *gin.Context, isChannel bool) {
userId := c.GetInt("id")
userGroup, _ := model.CacheGetUserGroup(userId)
// Only return the models that the channel and user have access to
var modalList []OpenAIModels
for _, modalData := range openAIModels {
channel, err := model.CacheGetRandomSatisfiedChannel(userGroup, modalData.Id)
if !isChannel {
for _, modalData := range openAIModels {
channel, err := model.CacheGetRandomSatisfiedChannel(userGroup, modalData.Id)
if err != nil {
continue
}
if err != nil {
continue
}
if channel != nil {
modalList = append(modalList, modalData)
if channel != nil {
modalList = append(modalList, modalData)
}
}
}

View File

@ -65,7 +65,9 @@ func SetApiRouter(router *gin.Engine) {
{
channelRoute.GET("/", controller.GetAllChannels)
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("/test", controller.TestAllChannels)
channelRoute.GET("/test/:id", controller.TestChannel)

View File

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