diff --git a/controller/channel.go b/controller/channel.go index 1551369e1..b1fdd0c3e 100644 --- a/controller/channel.go +++ b/controller/channel.go @@ -274,6 +274,17 @@ func AddChannel(c *gin.Context) { } localChannel := channel localChannel.Key = key + // Validate the length of the model name + models := strings.Split(localChannel.Models, ",") + for _, model := range models { + if len(model) > 255 { + c.JSON(http.StatusOK, gin.H{ + "success": false, + "message": fmt.Sprintf("模型名称过长: %s", model), + }) + return + } + } channels = append(channels, localChannel) } err = model.BatchInsertChannels(channels) diff --git a/model/ability.go b/model/ability.go index bb8ae8064..527203075 100644 --- a/model/ability.go +++ b/model/ability.go @@ -12,7 +12,7 @@ import ( type Ability struct { Group string `json:"group" gorm:"type:varchar(64);primaryKey;autoIncrement:false"` - Model string `json:"model" gorm:"type:varchar(64);primaryKey;autoIncrement:false"` + Model string `json:"model" gorm:"type:varchar(255);primaryKey;autoIncrement:false"` ChannelId int `json:"channel_id" gorm:"primaryKey;autoIncrement:false;index"` Enabled bool `json:"enabled"` Priority *int64 `json:"priority" gorm:"bigint;default:0;index"` @@ -278,7 +278,6 @@ func FixAbility() (int, error) { return 0, err } var channels []Channel - if len(abilityChannelIds) == 0 { err = DB.Find(&channels).Error } else {