mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-21 01:10:19 +00:00
[API] generalize list header (#16551)
* Add info about list endpoints to CONTRIBUTING.md * Let all list endpoints return X-Total-Count header * Add TODOs for GetCombinedCommitStatusByRef * Fix models/issue_stopwatch.go * Rrefactor models.ListDeployKeys * Introduce helper func and use them for SetLinkHeader related func
This commit is contained in:
parent
ca13e1d56c
commit
2289580bb7
88 changed files with 637 additions and 329 deletions
|
@ -47,6 +47,7 @@ func composePublicKeysAPILink() string {
|
|||
func listPublicKeys(ctx *context.APIContext, user *models.User) {
|
||||
var keys []*models.PublicKey
|
||||
var err error
|
||||
var count int
|
||||
|
||||
fingerprint := ctx.FormString("fingerprint")
|
||||
username := ctx.Params("username")
|
||||
|
@ -60,7 +61,15 @@ func listPublicKeys(ctx *context.APIContext, user *models.User) {
|
|||
// Unrestricted
|
||||
keys, err = models.SearchPublicKey(0, fingerprint)
|
||||
}
|
||||
count = len(keys)
|
||||
} else {
|
||||
total, err2 := models.CountPublicKeys(user.ID)
|
||||
if err2 != nil {
|
||||
ctx.InternalServerError(err)
|
||||
return
|
||||
}
|
||||
count = int(total)
|
||||
|
||||
// Use ListPublicKeys
|
||||
keys, err = models.ListPublicKeys(user.ID, utils.GetListOptions(ctx))
|
||||
}
|
||||
|
@ -79,6 +88,7 @@ func listPublicKeys(ctx *context.APIContext, user *models.User) {
|
|||
}
|
||||
}
|
||||
|
||||
ctx.SetTotalCountHeader(int64(count))
|
||||
ctx.JSON(http.StatusOK, &apiKeys)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue