diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-08-05 02:33:36 +0800 |
---|---|---|
committer | techknowlogick <techknowlogick@gitea.io> | 2019-08-04 14:33:36 -0400 |
commit | 5b902e2368fdb67eda4ba033f7167fadf72e4350 (patch) | |
tree | 517c89ca14e749962d8c8b221a6ef5188d764d1d | |
parent | 7b2a39c78bbda57cd76c5c01af4904bf6a709a7d (diff) | |
download | gitea-5b902e2368fdb67eda4ba033f7167fadf72e4350.tar.gz gitea-5b902e2368fdb67eda4ba033f7167fadf72e4350.zip |
add pagination for admin api get orgs and fix only list public orgs bug (#7742)
-rw-r--r-- | models/user.go | 4 | ||||
-rw-r--r-- | routers/api/v1/admin/org.go | 13 | ||||
-rw-r--r-- | templates/swagger/v1_json.tmpl | 14 |
3 files changed, 27 insertions, 4 deletions
diff --git a/models/user.go b/models/user.go index ab29683a7b..2e4f971662 100644 --- a/models/user.go +++ b/models/user.go @@ -1409,9 +1409,7 @@ type SearchUserOptions struct { } func (opts *SearchUserOptions) toConds() builder.Cond { - - var cond = builder.NewCond() - cond = cond.And(builder.Eq{"type": opts.Type}) + var cond builder.Cond = builder.Eq{"type": opts.Type} if len(opts.Keyword) > 0 { lowerKeyword := strings.ToLower(opts.Keyword) diff --git a/routers/api/v1/admin/org.go b/routers/api/v1/admin/org.go index d740647cd4..c90e739626 100644 --- a/routers/api/v1/admin/org.go +++ b/routers/api/v1/admin/org.go @@ -82,6 +82,15 @@ func GetAllOrgs(ctx *context.APIContext) { // summary: List all organizations // produces: // - application/json + // parameters: + // - name: page + // in: query + // description: page number of results to return (1-based) + // type: integer + // - name: limit + // in: query + // description: page size of results, maximum page size is 50 + // type: integer // responses: // "200": // "$ref": "#/responses/OrganizationList" @@ -90,7 +99,9 @@ func GetAllOrgs(ctx *context.APIContext) { users, _, err := models.SearchUsers(&models.SearchUserOptions{ Type: models.UserTypeOrganization, OrderBy: models.SearchOrderByAlphabetically, - PageSize: -1, + Page: ctx.QueryInt("page"), + PageSize: convert.ToCorrectPageSize(ctx.QueryInt("limit")), + Private: true, }) if err != nil { ctx.Error(500, "SearchOrganizations", err) diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 43eca15871..4ae7f5a49e 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -33,6 +33,20 @@ ], "summary": "List all organizations", "operationId": "adminGetAllOrgs", + "parameters": [ + { + "type": "integer", + "description": "page number of results to return (1-based)", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "page size of results, maximum page size is 50", + "name": "limit", + "in": "query" + } + ], "responses": { "200": { "$ref": "#/responses/OrganizationList" |