summaryrefslogtreecommitdiffstats
path: root/routers/api/v1/admin
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-08-12 14:43:08 +0200
committerGitHub <noreply@github.com>2021-08-12 14:43:08 +0200
commit2289580bb7ef8dfa4124c2b3bfb89897dbb35f46 (patch)
treee68aae604bb3d738b44156504a1415adaf042c68 /routers/api/v1/admin
parentca13e1d56c561f72cf8ad251fe61b1898abfec51 (diff)
downloadgitea-2289580bb7ef8dfa4124c2b3bfb89897dbb35f46.tar.gz
gitea-2289580bb7ef8dfa4124c2b3bfb89897dbb35f46.zip
[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
Diffstat (limited to 'routers/api/v1/admin')
-rw-r--r--routers/api/v1/admin/adopt.go4
-rw-r--r--routers/api/v1/admin/cron.go11
-rw-r--r--routers/api/v1/admin/org.go4
-rw-r--r--routers/api/v1/admin/user.go3
4 files changed, 9 insertions, 13 deletions
diff --git a/routers/api/v1/admin/adopt.go b/routers/api/v1/admin/adopt.go
index 062cee6283..9c1b9fc0f8 100644
--- a/routers/api/v1/admin/adopt.go
+++ b/routers/api/v1/admin/adopt.go
@@ -5,7 +5,6 @@
package admin
import (
- "fmt"
"net/http"
"code.gitea.io/gitea/models"
@@ -47,8 +46,7 @@ func ListUnadoptedRepositories(ctx *context.APIContext) {
ctx.InternalServerError(err)
}
- ctx.Header().Set("X-Total-Count", fmt.Sprintf("%d", count))
- ctx.Header().Set("Access-Control-Expose-Headers", "X-Total-Count")
+ ctx.SetTotalCountHeader(int64(count))
ctx.JSON(http.StatusOK, repoNames)
}
diff --git a/routers/api/v1/admin/cron.go b/routers/api/v1/admin/cron.go
index 2531346fcb..970fad8388 100644
--- a/routers/api/v1/admin/cron.go
+++ b/routers/api/v1/admin/cron.go
@@ -11,6 +11,7 @@ import (
"code.gitea.io/gitea/modules/cron"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/structs"
+ "code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/routers/api/v1/utils"
)
@@ -36,12 +37,10 @@ func ListCronTasks(ctx *context.APIContext) {
// "403":
// "$ref": "#/responses/forbidden"
tasks := cron.ListTasks()
- listOpts := utils.GetListOptions(ctx)
- start, end := listOpts.GetStartEnd()
+ count := len(tasks)
- if len(tasks) > listOpts.PageSize {
- tasks = tasks[start:end]
- }
+ listOpts := utils.GetListOptions(ctx)
+ tasks = util.PaginateSlice(tasks, listOpts.Page, listOpts.PageSize).(cron.TaskTable)
res := make([]structs.Cron, len(tasks))
for i, task := range tasks {
@@ -53,6 +52,8 @@ func ListCronTasks(ctx *context.APIContext) {
ExecTimes: task.ExecTimes,
}
}
+
+ ctx.SetTotalCountHeader(int64(count))
ctx.JSON(http.StatusOK, res)
}
diff --git a/routers/api/v1/admin/org.go b/routers/api/v1/admin/org.go
index 1356276f07..f1a766d544 100644
--- a/routers/api/v1/admin/org.go
+++ b/routers/api/v1/admin/org.go
@@ -6,7 +6,6 @@
package admin
import (
- "fmt"
"net/http"
"code.gitea.io/gitea/models"
@@ -121,7 +120,6 @@ func GetAllOrgs(ctx *context.APIContext) {
}
ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
- ctx.Header().Set("X-Total-Count", fmt.Sprintf("%d", maxResults))
- ctx.Header().Set("Access-Control-Expose-Headers", "X-Total-Count, Link")
+ ctx.SetTotalCountHeader(maxResults)
ctx.JSON(http.StatusOK, &orgs)
}
diff --git a/routers/api/v1/admin/user.go b/routers/api/v1/admin/user.go
index 6bc9b849b1..e5a75da759 100644
--- a/routers/api/v1/admin/user.go
+++ b/routers/api/v1/admin/user.go
@@ -423,7 +423,6 @@ func GetAllUsers(ctx *context.APIContext) {
}
ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
- ctx.Header().Set("X-Total-Count", fmt.Sprintf("%d", maxResults))
- ctx.Header().Set("Access-Control-Expose-Headers", "X-Total-Count, Link")
+ ctx.SetTotalCountHeader(maxResults)
ctx.JSON(http.StatusOK, &results)
}