Przeglądaj źródła

Merge pull request #692 from Calcium-Ion/fix-channel-model-length

Fix channel model length issue
Calcium-Ion 1 rok temu
rodzic
commit
3f8c12c14e
2 zmienionych plików z 12 dodań i 2 usunięć
  1. 11 0
      controller/channel.go
  2. 1 2
      model/ability.go

+ 11 - 0
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)

+ 1 - 2
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 {