MCPcopy Index your code
hub / github.com/TruthHun/BookStack / InsertOrDelete

Method InsertOrDelete

models/bookmarks.go:48–77  ·  view source on GitHub ↗

添加或移除书签(如果书签不存在,则添加书签,如果书签存在,则移除书签)

(uid, docId int)

Source from the content-addressed store, hash-verified

46
47//添加或移除书签(如果书签不存在,则添加书签,如果书签存在,则移除书签)
48func (m *Bookmark) InsertOrDelete(uid, docId int) (insert bool, err error) {
49 if uid*docId == 0 {
50 err = errors.New("用户id和文档id均不能为空")
51 return
52 }
53
54 o := orm.NewOrm()
55
56 var (
57 bookmark Bookmark
58 doc = new(Document)
59 )
60
61 o.QueryTable(tableBookmark).Filter("uid", uid).Filter("doc_id", docId).One(&bookmark, "id")
62 if bookmark.Id > 0 { //删除书签
63 _, err = o.QueryTable(tableBookmark).Filter("id", bookmark.Id).Delete()
64 return
65 }
66
67 //新增书签
68 //查询文档id是属于哪个书籍
69 o.QueryTable(doc).Filter("document_id", docId).One(doc, "book_id")
70 bookmark.BookId = doc.BookId
71 bookmark.CreateAt = int(time.Now().Unix())
72 bookmark.Uid = uid
73 bookmark.DocId = docId
74 _, err = o.Insert(&bookmark)
75 insert = true
76 return
77}
78
79//查询书签是否存在
80func (m *Bookmark) Exist(uid, docId int) (exist bool) {

Callers 3

SetBookmarksMethod · 0.95
DeleteBookmarksMethod · 0.95
BookmarkMethod · 0.80

Calls 2

DeleteMethod · 0.45
InsertMethod · 0.45

Tested by

no test coverage detected