-
Notifications
You must be signed in to change notification settings - Fork 42
/
doc.go
44 lines (35 loc) · 1.33 KB
/
doc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package yakit
import (
"github.com/jinzhu/gorm"
"github.com/yaklang/yaklang/common/schema"
"github.com/yaklang/yaklang/common/utils"
)
func CreateOrUpdateMarkdownDoc(db *gorm.DB, sid int64, name string, i interface{}) error {
db = db.Model(&schema.MarkdownDoc{})
if db := db.Where("yak_script_id = ? OR yak_script_name = ?", sid, name).Assign(i).FirstOrCreate(&schema.MarkdownDoc{}); db.Error != nil {
return utils.Errorf("create/update MarkdownDoc failed: %s", db.Error)
}
return nil
}
func GetMarkdownDoc(db *gorm.DB, id int64) (*schema.MarkdownDoc, error) {
var req schema.MarkdownDoc
if db := db.Model(&schema.MarkdownDoc{}).Where("id = ?", id).First(&req); db.Error != nil {
return nil, utils.Errorf("get MarkdownDoc failed: %s", db.Error)
}
return &req, nil
}
func GetMarkdownDocByName(db *gorm.DB, sid int64, name string) (*schema.MarkdownDoc, error) {
var req schema.MarkdownDoc
if db := db.Model(&schema.MarkdownDoc{}).Where("yak_script_id = ? OR yak_script_name = ?", sid, name).First(&req); db.Error != nil {
return nil, utils.Errorf("get MarkdownDoc failed: %s", db.Error)
}
return &req, nil
}
func DeleteMarkdownDocByID(db *gorm.DB, id int64) error {
if db := db.Model(&schema.MarkdownDoc{}).Where(
"id = ?", id,
).Unscoped().Delete(&schema.MarkdownDoc{}); db.Error != nil {
return db.Error
}
return nil
}