Initial redesigned UI for repo listings w/ stars.
This commit is contained in:
parent
97b605ca8d
commit
5a484cfe11
10 changed files with 308 additions and 103 deletions
|
@ -107,6 +107,7 @@ class RepositoryList(ApiResource):
|
|||
@query_param('sort', 'Whether to sort the results.', type=truthy_bool, default=False)
|
||||
@query_param('count', 'Whether to include a count of the total number of results available.',
|
||||
type=truthy_bool, default=False)
|
||||
@query_param('starred', 'Whether or not to include starred repositories', type=truthy_bool, default=True)
|
||||
def get(self, args):
|
||||
"""Fetch the list of repositories under a variety of situations."""
|
||||
username = None
|
||||
|
@ -123,7 +124,7 @@ class RepositoryList(ApiResource):
|
|||
|
||||
repo_query = model.get_visible_repositories(username, limit=args['limit'], page=args['page'],
|
||||
include_public=args['public'], sort=args['sort'],
|
||||
namespace=args['namespace'])
|
||||
namespace=args['namespace'], include_starred=args['starred'])
|
||||
|
||||
response['repositories'] = [repo_view(repo) for repo in repo_query
|
||||
if (repo.visibility.name == 'public' or
|
||||
|
|
|
@ -4,6 +4,7 @@ import json
|
|||
from flask import request
|
||||
from flask.ext.login import logout_user
|
||||
from flask.ext.principal import identity_changed, AnonymousIdentity
|
||||
from peewee import IntegrityError
|
||||
|
||||
from app import app, billing as stripe, authentication, avatar
|
||||
from endpoints.api import (ApiResource, nickname, resource, validate_json_request, request_error,
|
||||
|
@ -713,10 +714,17 @@ class StarredRepositoryList(ApiResource):
|
|||
namespace = req['namespace']
|
||||
repository = req['repository']
|
||||
repo = model.get_repository(namespace, repository)
|
||||
|
||||
if repo:
|
||||
model.star_repository(user, repo)
|
||||
log_action('star_repository', user.username, namespace,
|
||||
{'repo': repository, 'namespace': namespace})
|
||||
try:
|
||||
model.star_repository(user, repo)
|
||||
except IntegrityError:
|
||||
pass
|
||||
|
||||
#TODO(jzelinskie): log this action
|
||||
#log_action('star_repository', user.username, namespace,
|
||||
# {'repo': repository, 'namespace': namespace})
|
||||
|
||||
return {
|
||||
'namespace': namespace,
|
||||
'repository': repository,
|
||||
|
@ -732,10 +740,13 @@ class StarredRepository(RepositoryParamResource):
|
|||
def delete(self, namespace, repository):
|
||||
user = get_authenticated_user()
|
||||
repo = model.get_repository(namespace, repository)
|
||||
|
||||
if repo:
|
||||
model.unstar_repository(user, repo)
|
||||
log_action('unstar_repository', user.username, namespace,
|
||||
{'repo': repository, 'namespace': namespace})
|
||||
|
||||
#TODO(jzelinskie): log this action
|
||||
#log_action('unstar_repository', user.username, namespace,
|
||||
# {'repo': repository, 'namespace': namespace})
|
||||
return 'Deleted', 204
|
||||
|
||||
raise NotFound()
|
||||
|
|
Reference in a new issue