Fix #7136: Add paging and extend API GetCommitStatuses (#7141)

* Fix #7136: Add paging and extend API GetCommitStatuses

* update swagger

* Update routers/api/v1/repo/status.go

Co-Authored-By: techknowlogick <matti@mdranta.net>

* Update routers/api/v1/repo/status.go

Co-Authored-By: techknowlogick <matti@mdranta.net>

* Update routers/api/v1/repo/status.go

Co-Authored-By: techknowlogick <matti@mdranta.net>

* Apply suggestions from code review
This commit is contained in:
zeripath 2019-07-25 11:55:06 +01:00 committed by GitHub
parent 5efd3630bc
commit 734aa96508
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 138 additions and 9 deletions

View file

@ -89,6 +89,23 @@ func GetCommitStatuses(ctx *context.APIContext) {
// description: sha of the commit
// type: string
// required: true
// - name: page
// in: query
// description: page number of results
// type: integer
// required: false
// - name: sort
// in: query
// description: type of sort
// type: string
// enum: [oldest, recentupdate, leastupdate, leastindex, highestindex]
// required: false
// - name: state
// in: query
// description: type of state
// type: string
// enum: [pending, success, error, failure, warning]
// required: false
// responses:
// "200":
// "$ref": "#/responses/StatusList"
@ -118,6 +135,23 @@ func GetCommitStatusesByRef(ctx *context.APIContext) {
// description: name of branch/tag/commit
// type: string
// required: true
// - name: page
// in: query
// description: page number of results
// type: integer
// required: false
// - name: sort
// in: query
// description: type of sort
// type: string
// enum: [oldest, recentupdate, leastupdate, leastindex, highestindex]
// required: false
// - name: state
// in: query
// description: type of state
// type: string
// enum: [pending, success, error, failure, warning]
// required: false
// responses:
// "200":
// "$ref": "#/responses/StatusList"
@ -131,11 +165,13 @@ func getCommitStatuses(ctx *context.APIContext, sha string) {
}
repo := ctx.Repo.Repository
page := ctx.ParamsInt("page")
statuses, err := models.GetCommitStatuses(repo, sha, page)
statuses, _, err := models.GetCommitStatuses(repo, sha, &models.CommitStatusOptions{
Page: ctx.QueryInt("page"),
SortType: ctx.QueryTrim("sort"),
State: ctx.QueryTrim("state"),
})
if err != nil {
ctx.Error(500, "GetCommitStatuses", fmt.Errorf("GetCommitStatuses[%s, %s, %d]: %v", repo.FullName(), sha, page, err))
ctx.Error(500, "GetCommitStatuses", fmt.Errorf("GetCommitStatuses[%s, %s, %d]: %v", repo.FullName(), sha, ctx.QueryInt("page"), err))
return
}
@ -180,6 +216,11 @@ func GetCombinedCommitStatusByRef(ctx *context.APIContext) {
// description: name of branch/tag/commit
// type: string
// required: true
// - name: page
// in: query
// description: page number of results
// type: integer
// required: false
// responses:
// "200":
// "$ref": "#/responses/Status"
@ -190,7 +231,7 @@ func GetCombinedCommitStatusByRef(ctx *context.APIContext) {
}
repo := ctx.Repo.Repository
page := ctx.ParamsInt("page")
page := ctx.QueryInt("page")
statuses, err := models.GetLatestCommitStatus(repo, sha, page)
if err != nil {