Add pagination to the repository list API to make it better for public

Fixes #1166
This commit is contained in:
Joseph Schorr 2016-02-01 13:06:13 +02:00
parent 4905f55268
commit 534ec9cb2b
5 changed files with 69 additions and 98 deletions

View file

@ -184,7 +184,7 @@ def unstar_repository(user, repository):
raise DataModelException('Star not found.')
def get_user_starred_repositories(user, limit=None, page=None):
def get_user_starred_repositories(user):
""" Retrieves all of the repositories a user has starred. """
query = (Repository
.select(Repository, User, Visibility)
@ -195,11 +195,6 @@ def get_user_starred_repositories(user, limit=None, page=None):
.join(Visibility)
.where(Star.user == user))
if page and limit:
query = query.paginate(page, limit)
elif limit:
query = query.limit(limit)
return query
@ -252,7 +247,7 @@ def get_action_counts(repository_ids):
return action_count_map
def get_visible_repositories(username, namespace=None, page=None, limit=None, include_public=False):
def get_visible_repositories(username, namespace=None, include_public=False):
""" Returns the repositories visible to the given user (if any).
"""
if not include_public and not username:
@ -268,11 +263,6 @@ def get_visible_repositories(username, namespace=None, page=None, limit=None, in
.join(RepositoryPermission, JOIN_LEFT_OUTER))
query = _basequery.filter_to_repos_for_user(query, username, namespace, include_public)
if page:
query = query.paginate(page, limit)
elif limit:
query = query.limit(limit)
return query