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

Method InsertOrUpdateVersionItem

models/version.go:118–157  ·  view source on GitHub ↗

InsertOrUpdateVersionItem 添加版本项

(versionId int, bookIdentify, bookName string, versionNO string)

Source from the content-addressed store, hash-verified

116
117// InsertOrUpdateVersionItem 添加版本项
118func (m *Version) InsertOrUpdateVersionItem(versionId int, bookIdentify, bookName string, versionNO string) (err error) {
119 o := orm.NewOrm()
120 if versionId <= 0 {
121 if bookIdentify != "" {
122 o.QueryTable(NewVersionItem()).Filter("book_identify", bookIdentify).Delete()
123 }
124 return
125 }
126
127 if versionId > 0 && versionNO == "" {
128 return
129 }
130
131 versionNO = strings.TrimLeft(strings.ToLower(strings.TrimSpace(versionNO)), "v")
132
133 item := &VersionItem{
134 VersionId: versionId,
135 BookIdentify: bookIdentify,
136 BookName: bookName,
137 VersionNO: versionNO,
138 }
139 o.Begin()
140 defer func() {
141 if err != nil {
142 o.Rollback()
143 } else {
144 o.Commit()
145 }
146 }()
147
148 if _, err = o.QueryTable(item).Filter("book_identify", bookIdentify).Delete(); err != nil {
149 beego.Error(err)
150 return
151 }
152
153 if _, err = o.Insert(item); err != nil {
154 beego.Error(err)
155 }
156 return
157}
158
159func (m *Version) All() (versions []Version) {
160 orm.NewOrm().QueryTable(m).Limit(100000).OrderBy("title").All(&versions, "id", "title")

Callers 1

SaveBookMethod · 0.80

Calls 3

NewVersionItemFunction · 0.85
DeleteMethod · 0.45
InsertMethod · 0.45

Tested by

no test coverage detected