diff --git a/models/repo_list.go b/models/repo_list.go index 9d0fd6a324e..45a506698af 100644 --- a/models/repo_list.go +++ b/models/repo_list.go @@ -321,9 +321,9 @@ func accessibleRepositoryCondition(user *User) builder.Cond { var cond = builder.NewCond() if user == nil || !user.IsRestricted { - var orgVisibilityLimit = structs.VisibleTypePrivate + orgVisibilityLimit := []structs.VisibleType{structs.VisibleTypePrivate} if user == nil { - orgVisibilityLimit = structs.VisibleTypeLimited + orgVisibilityLimit = append(orgVisibilityLimit, structs.VisibleTypeLimited) } // 1. Be able to see all non-private repositories that either: cond = cond.Or(builder.And( @@ -332,7 +332,7 @@ func accessibleRepositoryCondition(user *User) builder.Cond { // A. Aren't in organisations __OR__ builder.NotIn("`repository`.owner_id", builder.Select("id").From("`user`").Where(builder.Eq{"type": UserTypeOrganization})), // B. Isn't a private organisation. Limited is OK as long as we're logged in. - builder.NotIn("`repository`.owner_id", builder.Select("id").From("`user`").Where(builder.Gte{"visibility": orgVisibilityLimit}))))) + builder.NotIn("`repository`.owner_id", builder.Select("id").From("`user`").Where(builder.In("visibility", orgVisibilityLimit)))))) } if user != nil {