diff --git a/pagure/api/__init__.py b/pagure/api/__init__.py index 73dd47d..1cdffa9 100644 --- a/pagure/api/__init__.py +++ b/pagure/api/__init__.py @@ -251,6 +251,7 @@ def api_users(): :: { + "total_users": 2, "users": ["user1", "user2"] } @@ -259,13 +260,12 @@ def api_users(): if pattern is not None and not pattern.endswith('*'): pattern += '*' + users = pagure.lib.search_user(SESSION, pattern=pattern) + return flask.jsonify( { - 'users': [ - user.username - for user in pagure.lib.search_user( - SESSION, pattern=pattern) - ] + 'total_users': len(users), + 'users': [user.username for user in users] } ) @@ -304,6 +304,7 @@ def api_project_tags(repo, username=None): :: { + "total_tags": 2, "tags": ["tag1", "tag2"] } @@ -319,13 +320,13 @@ def api_project_tags(repo, username=None): jsonout.status_code = 404 return jsonout + tags = pagure.lib.get_tags_of_project( + SESSION, project_obj, pattern=pattern) + return flask.jsonify( { - 'tags': [ - tag.tag - for tag in pagure.lib.get_tags_of_project( - SESSION, project_obj, pattern=pattern) - ] + 'total_tags': len(tags), + 'tags': [tag.tag for tag in tags] } ) @@ -360,6 +361,7 @@ def api_groups(): :: { + "total_groups": 2, "groups": ["group1", "group2"] } @@ -368,13 +370,12 @@ def api_groups(): if pattern is not None and not pattern.endswith('*'): pattern += '*' + groups = pagure.lib.search_groups(SESSION, pattern=pattern) + return flask.jsonify( { - 'groups': [ - group.group_name - for group in pagure.lib.search_groups( - SESSION, pattern=pattern) - ] + 'total_groups': len(groups), + 'groups': [group.group_name for group in groups] } ) diff --git a/pagure/api/fork.py b/pagure/api/fork.py index 436443c..a99a957 100644 --- a/pagure/api/fork.py +++ b/pagure/api/fork.py @@ -65,6 +65,7 @@ def api_pull_request_views(repo, username=None): "author": null, "status": true }, + "total_requests": 1, "requests": [ { "assignee": null, @@ -140,6 +141,7 @@ def api_pull_request_views(repo, username=None): status=status) jsonout = flask.jsonify({ + 'total_requests': len(requests), 'requests': [ request.to_json(public=True, api=True) for request in requests], diff --git a/pagure/api/issue.py b/pagure/api/issue.py index e88d5c7..363e13a 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -192,6 +192,7 @@ def api_view_issues(repo, username=None): "0.1" ] }, + "total_issues": 1, "issues": [ { "assignee": null, @@ -271,6 +272,7 @@ def api_view_issues(repo, username=None): author=author, private=private) jsonout = flask.jsonify({ + 'total_issues': len(issues), 'issues': [issue.to_json(public=True) for issue in issues], 'args': { 'status': status, diff --git a/pagure/api/project.py b/pagure/api/project.py index d5a272b..60f9719 100644 --- a/pagure/api/project.py +++ b/pagure/api/project.py @@ -40,6 +40,7 @@ def api_git_tags(repo, username=None): :: { + "total_tags": 2, "tags": ["0.0.1", "0.0.2"] } @@ -51,7 +52,10 @@ def api_git_tags(repo, username=None): tags = pagure.lib.git.get_git_tags(repo) - jsonout = flask.jsonify({'tags': tags}) + jsonout = flask.jsonify({ + 'total_tags': len(tags), + 'tags': tags + }) return jsonout @@ -96,6 +100,7 @@ def api_projects(): :: { + "total_projects": 2, "projects": [ { "date_created": "1427441537", @@ -150,6 +155,7 @@ def api_projects(): 404, error_code=APIERROR.ENOPROJECTS) jsonout = flask.jsonify({ + 'total_projects': len(projects), 'projects': [p.to_json(api=True, public=True) for p in projects] }) return jsonout