mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-15 14:32:42 +00:00
[API] Add pagination to ListBranches (#14524)
* make PaginateUserSlice generic -> PaginateSlice * Add pagination to ListBranches * add skip, limit to Repository.GetBranches() * Move routers/api/v1/utils/utils PaginateSlice -> modules/util/paginate.go * repo_module.GetBranches paginate * fix & rename & more logging * better description Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: a1012112796 <1012112796@qq.com>
This commit is contained in:
parent
c295a27d4a
commit
0d1444751f
20 changed files with 239 additions and 87 deletions
|
@ -66,22 +66,3 @@ func GetListOptions(ctx *context.APIContext) models.ListOptions {
|
|||
PageSize: convert.ToCorrectPageSize(ctx.QueryInt("limit")),
|
||||
}
|
||||
}
|
||||
|
||||
// PaginateUserSlice cut a slice of Users as per pagination options
|
||||
// TODO: make it generic
|
||||
func PaginateUserSlice(items []*models.User, page, pageSize int) []*models.User {
|
||||
if page != 0 {
|
||||
page--
|
||||
}
|
||||
|
||||
if page*pageSize >= len(items) {
|
||||
return items[len(items):]
|
||||
}
|
||||
|
||||
items = items[page*pageSize:]
|
||||
|
||||
if len(items) > pageSize {
|
||||
return items[:pageSize]
|
||||
}
|
||||
return items
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue