summaryrefslogtreecommitdiffstats
path: root/models/repo
diff options
context:
space:
mode:
Diffstat (limited to 'models/repo')
-rw-r--r--models/repo/repo_list.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/models/repo/repo_list.go b/models/repo/repo_list.go
index 987c7df9b0..eacc98e222 100644
--- a/models/repo/repo_list.go
+++ b/models/repo/repo_list.go
@@ -175,6 +175,8 @@ type SearchRepoOptions struct {
// True -> include just forks
// False -> include just non-forks
Fork optional.Option[bool]
+ // If Fork option is True, you can use this option to limit the forks of a special repo by repo id.
+ ForkFrom int64
// None -> include templates AND non-templates
// True -> include just templates
// False -> include just non-templates
@@ -514,6 +516,10 @@ func SearchRepositoryCondition(opts *SearchRepoOptions) builder.Cond {
cond = cond.And(builder.Eq{"is_fork": false})
} else {
cond = cond.And(builder.Eq{"is_fork": opts.Fork.Value()})
+
+ if opts.ForkFrom > 0 && opts.Fork.Value() {
+ cond = cond.And(builder.Eq{"fork_id": opts.ForkFrom})
+ }
}
}