Make sure catalog always returns public repositories

This commit is contained in:
Joseph Schorr 2017-05-19 16:24:08 -04:00
parent 86bcbd1225
commit 065e327190
3 changed files with 24 additions and 11 deletions

View file

@ -22,7 +22,7 @@ class Repository(namedtuple('Repository', ['id', 'name', 'namespace_name', 'desc
:type description: string
:type is_public: bool
:type kind: string
:type trust_enabled: bool
:type trust_enabled: bool
"""
class ManifestJSON(namedtuple('ManifestJSON', ['digest', 'json', 'media_type'])):
@ -387,9 +387,12 @@ class PreOCIModel(DockerRegistryV2DataInterface):
tags_query = tags_query.limit(limit).offset(offset)
return [_tag_view(tag) for tag in tags_query]
def get_visible_repositories(self, username, limit, offset):
def get_visible_repositories(self, username, limit, offset, include_public=None):
if include_public is None:
include_public = (username is None)
query = model.repository.get_visible_repositories(username, kind_filter='image',
include_public=(username is None))
include_public=include_public)
query = query.limit(limit).offset(offset)
return [_repository_for_repo(repo) for repo in query]