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

Method Lists

models/version.go:169–212  ·  view source on GitHub ↗
(page, size int, wd string)

Source from the content-addressed store, hash-verified

167}
168
169func (m *Version) Lists(page, size int, wd string) (versions []Version, total int64) {
170 o := orm.NewOrm()
171 q := o.QueryTable(m)
172 wd = strings.TrimSpace(wd)
173 if wd != "" {
174 q = q.Filter("title__icontains", wd)
175 }
176
177 total, _ = q.Count()
178 if total == 0 {
179 return
180 }
181
182 q.Limit(size).Offset((page - 1) * size).OrderBy("-id").All(&versions)
183
184 l := len(versions)
185 if l == 0 {
186 return
187 }
188
189 var (
190 ids []interface{}
191 items []VersionItem
192 itemMap = make(map[int][]VersionItem)
193 )
194
195 for _, ver := range versions {
196 ids = append(ids, ver.Id)
197 }
198
199 o.QueryTable(NewVersionItem()).Filter("version_id__in", ids...).Limit(l * 1000).OrderBy("version_id").All(&items)
200 for _, item := range items {
201 itemMap[item.VersionId] = append(itemMap[item.VersionId], item)
202 }
203
204 for idx, ver := range versions {
205 if v, ok := itemMap[ver.Id]; ok {
206 ver.Versions = m.SortVersionItems(v)
207 versions[idx] = ver
208 }
209 }
210
211 return
212}
213
214// DeleteVersionItem 删除版本项
215func (m *Version) DeleteVersionItem(id int) (err error) {

Callers 1

VersionMethod · 0.95

Calls 5

SortVersionItemsMethod · 0.95
NewVersionItemFunction · 0.85
appendFunction · 0.50
CountMethod · 0.45
AllMethod · 0.45

Tested by

no test coverage detected