Don't make permissions request in search for public callers

They are unnecessary, so we can skip them
This commit is contained in:
Joseph Schorr 2017-02-17 12:22:21 -05:00
parent eece782038
commit a319c55616

View file

@ -312,10 +312,15 @@ def get_search():
def _conduct_repo_search(username, query, limit=25, page=1):
""" Finds matching repositories. """
only_public = username is None
def can_read(repo):
if repo.is_public:
return True
if only_public:
return False
return ReadRepositoryPermission(repo.namespace_user.username, repo.name).can()
# Note: We put a max 5 page limit here. The Docker CLI doesn't seem to use the
@ -326,8 +331,6 @@ def _conduct_repo_search(username, query, limit=25, page=1):
_MAX_PAGE_COUNT = 5
page = min(page, _MAX_PAGE_COUNT)
only_public = username is None
if query:
matching_repos = model.get_sorted_matching_repositories(query, only_public, can_read,
limit=limit*_MAX_PAGE_COUNT)