Browse Source

api: correct pagination in repository search api (#5293)

pull/5340/head
oOOps 7 years ago committed by 无闻
parent
commit
f9bc980b0b
  1. 2
      pkg/context/api.go
  2. 3
      routes/api/v1/repo/repo.go

2
pkg/context/api.go

@ -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)

3
routes/api/v1/repo/repo.go

@ -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…
Cancel
Save