1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

[BugFix] Hide public repos owned by private orgs (#9616)

This commit is contained in:
6543
2020-01-06 03:12:55 +01:00
committed by Lunny Xiao
parent 2ccd92407a
commit a15a644c05
3 changed files with 10 additions and 4 deletions

View File

@@ -120,7 +120,8 @@ type SearchRepoOptions struct {
StarredByID int64
Page int
IsProfile bool
AllPublic bool // Include also all public repositories
AllPublic bool // Include also all public repositories of users and public organisations
AllLimited bool // Include also all public repositories of limited organisations
PageSize int // Can be smaller than or equal to setting.ExplorePagingNum
// None -> include collaborative AND non-collaborative
// True -> include just collaborative
@@ -240,7 +241,11 @@ func SearchRepository(opts *SearchRepoOptions) (RepositoryList, int64, error) {
}
if opts.AllPublic {
accessCond = accessCond.Or(builder.Eq{"is_private": false})
accessCond = accessCond.Or(builder.Eq{"is_private": false}.And(builder.In("owner_id", builder.Select("`user`.id").From("`user`").Where(builder.Eq{"`user`.visibility": structs.VisibleTypePublic}))))
}
if opts.AllLimited {
accessCond = accessCond.Or(builder.Eq{"is_private": false}.And(builder.In("owner_id", builder.Select("`user`.id").From("`user`").Where(builder.Eq{"`user`.visibility": structs.VisibleTypeLimited}))))
}
cond = cond.And(accessCond)