From d22a8dc022d51f9cbe8bfd8eb72e3a0e3245c543 Mon Sep 17 00:00:00 2001 From: Ethan Koenig Date: Wed, 15 Nov 2017 00:10:26 -0800 Subject: [PATCH] Page parameter for repo search API (#2915) --- public/swagger.v1.json | 12 +++++++++--- routers/api/v1/repo/repo.go | 11 ++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/public/swagger.v1.json b/public/swagger.v1.json index 4f4505b4a189..82370e49e2c6 100644 --- a/public/swagger.v1.json +++ b/public/swagger.v1.json @@ -849,13 +849,19 @@ }, { "type": "integer", - "description": "if provided, will return only repos owned by the user with the given id", + "description": "search only for repos that the user with the given id owns or contributes to", "name": "uid", "in": "query" }, { "type": "integer", - "description": "maximum number of repos to return", + "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" }, @@ -867,7 +873,7 @@ }, { "type": "boolean", - "description": "only search for repositories owned by the authenticated user", + "description": "if `uid` is given, search only for repos that the user owns", "name": "exclusive", "in": "query" } diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go index 36e644373c7c..158d37341619 100644 --- a/routers/api/v1/repo/repo.go +++ b/routers/api/v1/repo/repo.go @@ -34,11 +34,15 @@ func Search(ctx *context.APIContext) { // type: string // - name: uid // in: query - // description: if provided, will return only repos owned by the user with the given id + // description: search only for repos that the user with the given id owns or contributes to + // type: integer + // - name: page + // in: query + // description: page number of results to return (1-based) // type: integer // - name: limit // in: query - // description: maximum number of repos to return + // description: page size of results, maximum page size is 50 // type: integer // - name: mode // in: query @@ -47,7 +51,7 @@ func Search(ctx *context.APIContext) { // type: string // - name: exclusive // in: query - // description: only search for repositories owned by the authenticated user + // description: if `uid` is given, search only for repos that the user owns // type: boolean // responses: // "200": @@ -57,6 +61,7 @@ func Search(ctx *context.APIContext) { opts := &models.SearchRepoOptions{ Keyword: strings.Trim(ctx.Query("q"), " "), OwnerID: ctx.QueryInt64("uid"), + Page: ctx.QueryInt("page"), PageSize: convert.ToCorrectPageSize(ctx.QueryInt("limit")), Collaborate: util.OptionalBoolNone, }