mirror of https://github.com/gogs/gogs.git
api: correct pagination in repository search api (#5293)
parent
806754b512
commit
f9bc980b0b
|
@ -43,7 +43,7 @@ func (c *APIContext) Error(status int, title string, obj interface{}) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetLinkHeader sets pagination link header by given totol number and page size.
|
// SetLinkHeader sets pagination link header by given total number and page size.
|
||||||
func (c *APIContext) SetLinkHeader(total, pageSize int) {
|
func (c *APIContext) SetLinkHeader(total, pageSize int) {
|
||||||
page := paginater.New(total, pageSize, c.QueryInt("page"), 0)
|
page := paginater.New(total, pageSize, c.QueryInt("page"), 0)
|
||||||
links := make([]string, 0, 4)
|
links := make([]string, 0, 4)
|
||||||
|
|
|
@ -25,6 +25,7 @@ func Search(c *context.APIContext) {
|
||||||
Keyword: path.Base(c.Query("q")),
|
Keyword: path.Base(c.Query("q")),
|
||||||
OwnerID: c.QueryInt64("uid"),
|
OwnerID: c.QueryInt64("uid"),
|
||||||
PageSize: convert.ToCorrectPageSize(c.QueryInt("limit")),
|
PageSize: convert.ToCorrectPageSize(c.QueryInt("limit")),
|
||||||
|
Page: c.QueryInt("page"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check visibility.
|
// Check visibility.
|
||||||
|
@ -69,7 +70,7 @@ func Search(c *context.APIContext) {
|
||||||
results[i] = repos[i].APIFormat(nil)
|
results[i] = repos[i].APIFormat(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
c.SetLinkHeader(int(count), setting.API.MaxResponseItems)
|
c.SetLinkHeader(int(count), opts.PageSize)
|
||||||
c.JSON(200, map[string]interface{}{
|
c.JSON(200, map[string]interface{}{
|
||||||
"ok": true,
|
"ok": true,
|
||||||
"data": results,
|
"data": results,
|
||||||
|
|
Loading…
Reference in New Issue