add pagination for admin api get orgs and fix only list public orgs bug (#7742)
This commit is contained in:
		
							parent
							
								
									7b2a39c78b
								
							
						
					
					
						commit
						5b902e2368
					
				
					 3 changed files with 27 additions and 4 deletions
				
			
		|  | @ -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) | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue