aboutsummaryrefslogtreecommitdiffstats
path: root/routers/api/v1/repo
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-05-16 21:07:01 +0100
committerGitHub <noreply@github.com>2020-05-16 23:07:01 +0300
commitc86bc8e061b91d3d3778d9b97ba16e373250d8f6 (patch)
tree560fc03cd8647efb79a7c0cb4f5ee5e77b5f52d6 /routers/api/v1/repo
parentc3d9a5f8464e0921fc4063d903ecf2063fa152fa (diff)
downloadgitea-c86bc8e061b91d3d3778d9b97ba16e373250d8f6.tar.gz
gitea-c86bc8e061b91d3d3778d9b97ba16e373250d8f6.zip
Add paging and archive/private repository filtering to dashboard list (#11321)
* Add archived options to SearchRepository Signed-off-by: Andrew Thornton <art27@cantab.net> * Add only-private search Signed-off-by: Andrew Thornton <art27@cantab.net> * Add filter options and paging to dashboard repository page Signed-off-by: Andrew Thornton <art27@cantab.net> * swagger generate Signed-off-by: Andrew Thornton <art27@cantab.net> * fix-swagger-again Signed-off-by: Andrew Thornton <art27@cantab.net> * as per @mrsdizzie also remember state Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'routers/api/v1/repo')
-rw-r--r--routers/api/v1/repo/repo.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index 5eeef9fb9d..a724ebcc37 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -78,10 +78,18 @@ func Search(ctx *context.APIContext) {
// in: query
// description: include private repositories this user has access to (defaults to true)
// type: boolean
+ // - name: onlyPrivate
+ // in: query
+ // description: only include private repositories this user has access to (defaults to false)
+ // type: boolean
// - name: template
// in: query
// description: include template repositories this user has access to (defaults to true)
// type: boolean
+ // - name: archived
+ // in: query
+ // description: show only archived, non-archived or all repositories (defaults to all)
+ // type: boolean
// - name: mode
// in: query
// description: type of repository to search for. Supported values are
@@ -125,6 +133,7 @@ func Search(ctx *context.APIContext) {
TopicOnly: ctx.QueryBool("topic"),
Collaborate: util.OptionalBoolNone,
Private: ctx.IsSigned && (ctx.Query("private") == "" || ctx.QueryBool("private")),
+ OnlyPrivate: ctx.IsSigned && ctx.QueryBool("onlyPrivate"),
Template: util.OptionalBoolNone,
StarredByID: ctx.QueryInt64("starredBy"),
IncludeDescription: ctx.QueryBool("includeDesc"),
@@ -156,6 +165,10 @@ func Search(ctx *context.APIContext) {
return
}
+ if ctx.Query("archived") != "" {
+ opts.Archived = util.OptionalBoolOf(ctx.QueryBool("archived"))
+ }
+
var sortMode = ctx.Query("sort")
if len(sortMode) > 0 {
var sortOrder = ctx.Query("order")