fix: 获取模型列表时过滤已禁用渠道的绑定
This commit is contained in:
@@ -29,12 +29,15 @@ func (h *Handler) AdminModels(c *gin.Context) {
|
|||||||
h.a.DB.Preload("Channel").Where("model_id = ?", m.ID).Find(&bindings)
|
h.a.DB.Preload("Channel").Where("model_id = ?", m.ID).Find(&bindings)
|
||||||
chs := make([]gin.H, 0, len(bindings))
|
chs := make([]gin.H, 0, len(bindings))
|
||||||
for _, b := range bindings {
|
for _, b := range bindings {
|
||||||
|
if !b.Channel.Enabled {
|
||||||
|
continue
|
||||||
|
}
|
||||||
chs = append(chs, gin.H{
|
chs = append(chs, gin.H{
|
||||||
"id": b.ID, "channel_id": b.ChannelID, "channel_name": b.Channel.Name,
|
"id": b.ID, "channel_id": b.ChannelID, "channel_name": b.Channel.Name,
|
||||||
"upstream_model": b.UpstreamModel, "weight": b.Weight,
|
"upstream_model": b.UpstreamModel, "weight": b.Weight,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
used := len(bindings) > 0
|
used := len(chs) > 0
|
||||||
needsPricing := used && m.InputPrice == 0 && m.OutputPrice == 0 && m.CacheReadPrice == 0
|
needsPricing := used && m.InputPrice == 0 && m.OutputPrice == 0 && m.CacheReadPrice == 0
|
||||||
denied := containsStr(deny, m.Name) || (len(allow) > 0 && !containsStr(allow, m.Name))
|
denied := containsStr(deny, m.Name) || (len(allow) > 0 && !containsStr(allow, m.Name))
|
||||||
out = append(out, gin.H{
|
out = append(out, gin.H{
|
||||||
@@ -293,4 +296,4 @@ func (h *Handler) AdminDeleteModelBinding(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var _ = errors.Is
|
var _ = errors.Is
|
||||||
var _ = gorm.ErrRecordNotFound
|
var _ = gorm.ErrRecordNotFound
|
||||||
Reference in New Issue
Block a user