code.gitea.io/gitea@v1.21.7/models/migrations/v1_14/v162.go (about) 1 // Copyright 2020 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package v1_14 //nolint 5 6 import ( 7 "code.gitea.io/gitea/models/migrations/base" 8 9 "xorm.io/xorm" 10 ) 11 12 func ConvertWebhookTaskTypeToString(x *xorm.Engine) error { 13 const ( 14 GOGS int = iota + 1 15 SLACK 16 GITEA 17 DISCORD 18 DINGTALK 19 TELEGRAM 20 MSTEAMS 21 FEISHU 22 MATRIX 23 WECHATWORK 24 ) 25 26 hookTaskTypes := map[int]string{ 27 GITEA: "gitea", 28 GOGS: "gogs", 29 SLACK: "slack", 30 DISCORD: "discord", 31 DINGTALK: "dingtalk", 32 TELEGRAM: "telegram", 33 MSTEAMS: "msteams", 34 FEISHU: "feishu", 35 MATRIX: "matrix", 36 WECHATWORK: "wechatwork", 37 } 38 39 type Webhook struct { 40 Type string `xorm:"char(16) index"` 41 } 42 if err := x.Sync(new(Webhook)); err != nil { 43 return err 44 } 45 46 for i, s := range hookTaskTypes { 47 if _, err := x.Exec("UPDATE webhook set type = ? where hook_task_type=?", s, i); err != nil { 48 return err 49 } 50 } 51 52 sess := x.NewSession() 53 defer sess.Close() 54 if err := sess.Begin(); err != nil { 55 return err 56 } 57 if err := base.DropTableColumns(sess, "webhook", "hook_task_type"); err != nil { 58 return err 59 } 60 61 return sess.Commit() 62 }