Merge branch 'master' of https://bitbucket.org/yackob03/quay
This commit is contained in:
commit
2d69e2b031
3 changed files with 20 additions and 9 deletions
|
@ -16,6 +16,15 @@ from auth.permissions import (ReadRepositoryPermission,
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def api_login_required(f):
|
||||||
|
@wraps(f)
|
||||||
|
def decorated_view(*args, **kwargs):
|
||||||
|
if not current_user.is_authenticated():
|
||||||
|
abort(401)
|
||||||
|
return f(*args, **kwargs)
|
||||||
|
return decorated_view
|
||||||
|
|
||||||
|
|
||||||
@app.errorhandler(model.DataModelException)
|
@app.errorhandler(model.DataModelException)
|
||||||
def handle_dme(ex):
|
def handle_dme(ex):
|
||||||
return make_response(ex.message, 400)
|
return make_response(ex.message, 400)
|
||||||
|
@ -42,7 +51,7 @@ def get_logged_in_user():
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/users/<prefix>', methods=['GET'])
|
@app.route('/api/users/<prefix>', methods=['GET'])
|
||||||
@login_required
|
@api_login_required
|
||||||
def get_matching_users(prefix):
|
def get_matching_users(prefix):
|
||||||
users = model.get_matching_users(prefix)
|
users = model.get_matching_users(prefix)
|
||||||
|
|
||||||
|
@ -52,7 +61,7 @@ def get_matching_users(prefix):
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/repository/', methods=['POST'])
|
@app.route('/api/repository/', methods=['POST'])
|
||||||
@login_required
|
@api_login_required
|
||||||
def create_repo_api():
|
def create_repo_api():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -95,7 +104,7 @@ def list_repos_api():
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/repository/<path:repository>', methods=['PUT'])
|
@app.route('/api/repository/<path:repository>', methods=['PUT'])
|
||||||
@login_required
|
@api_login_required
|
||||||
@parse_repository_name
|
@parse_repository_name
|
||||||
def update_repo_api(namespace, repository):
|
def update_repo_api(namespace, repository):
|
||||||
permission = ModifyRepositoryPermission(namespace, repository)
|
permission = ModifyRepositoryPermission(namespace, repository)
|
||||||
|
@ -113,7 +122,7 @@ def update_repo_api(namespace, repository):
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/repository/<path:repository>/changevisibility', methods=['POST'])
|
@app.route('/api/repository/<path:repository>/changevisibility', methods=['POST'])
|
||||||
@login_required
|
@api_login_required
|
||||||
@parse_repository_name
|
@parse_repository_name
|
||||||
def change_repo_visibility_api(namespace, repository):
|
def change_repo_visibility_api(namespace, repository):
|
||||||
permission = AdministerRepositoryPermission(namespace, repository)
|
permission = AdministerRepositoryPermission(namespace, repository)
|
||||||
|
@ -202,7 +211,7 @@ def list_tag_images(namespace, repository, tag):
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/repository/<path:repository>/permissions/', methods=['GET'])
|
@app.route('/api/repository/<path:repository>/permissions/', methods=['GET'])
|
||||||
@login_required
|
@api_login_required
|
||||||
@parse_repository_name
|
@parse_repository_name
|
||||||
def list_repo_permissions(namespace, repository):
|
def list_repo_permissions(namespace, repository):
|
||||||
permission = AdministerRepositoryPermission(namespace, repository)
|
permission = AdministerRepositoryPermission(namespace, repository)
|
||||||
|
@ -219,7 +228,7 @@ def list_repo_permissions(namespace, repository):
|
||||||
|
|
||||||
@app.route('/api/repository/<path:repository>/permissions/<username>',
|
@app.route('/api/repository/<path:repository>/permissions/<username>',
|
||||||
methods=['GET'])
|
methods=['GET'])
|
||||||
@login_required
|
@api_login_required
|
||||||
@parse_repository_name
|
@parse_repository_name
|
||||||
def get_permissions(namespace, repository, username):
|
def get_permissions(namespace, repository, username):
|
||||||
logger.debug('Get repo: %s/%s permissions for user %s' %
|
logger.debug('Get repo: %s/%s permissions for user %s' %
|
||||||
|
@ -234,7 +243,7 @@ def get_permissions(namespace, repository, username):
|
||||||
|
|
||||||
@app.route('/api/repository/<path:repository>/permissions/<username>',
|
@app.route('/api/repository/<path:repository>/permissions/<username>',
|
||||||
methods=['PUT', 'POST'])
|
methods=['PUT', 'POST'])
|
||||||
@login_required
|
@api_login_required
|
||||||
@parse_repository_name
|
@parse_repository_name
|
||||||
def change_permissions(namespace, repository, username):
|
def change_permissions(namespace, repository, username):
|
||||||
permission = AdministerRepositoryPermission(namespace, repository)
|
permission = AdministerRepositoryPermission(namespace, repository)
|
||||||
|
@ -261,7 +270,7 @@ def change_permissions(namespace, repository, username):
|
||||||
|
|
||||||
@app.route('/api/repository/<path:repository>/permissions/<username>',
|
@app.route('/api/repository/<path:repository>/permissions/<username>',
|
||||||
methods=['DELETE'])
|
methods=['DELETE'])
|
||||||
@login_required
|
@api_login_required
|
||||||
@parse_repository_name
|
@parse_repository_name
|
||||||
def delete_permissions(namespace, repository, username):
|
def delete_permissions(namespace, repository, username):
|
||||||
permission = AdministerRepositoryPermission(namespace, repository)
|
permission = AdministerRepositoryPermission(namespace, repository)
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
<!--<button type="button" class="btn btn-default navbar-btn">Sign in</button>-->
|
<!--<button type="button" class="btn btn-default navbar-btn">Sign in</button>-->
|
||||||
|
|
||||||
<a href="javascript:void(0)" class="dropdown-toggle user-dropdown" data-toggle="dropdown">
|
<a href="javascript:void(0)" class="dropdown-toggle user-dropdown" data-toggle="dropdown">
|
||||||
<img src="http://www.gravatar.com/avatar/{{ user.gravatar }}?s=32&d=identicon" />
|
<img src="//www.gravatar.com/avatar/{{ user.gravatar }}?s=32&d=identicon" />
|
||||||
{{ user.username }}
|
{{ user.username }}
|
||||||
<b class="caret"></b>
|
<b class="caret"></b>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -6,6 +6,8 @@ WSGIRestrictEmbedded On
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
|
|
||||||
|
SetEnvIf X-Forwarded-Proto https HTTPS=1
|
||||||
|
|
||||||
Alias /static /opt/python/current/app/static/
|
Alias /static /opt/python/current/app/static/
|
||||||
<Directory /opt/python/current/app/>
|
<Directory /opt/python/current/app/>
|
||||||
Order allow,deny
|
Order allow,deny
|
||||||
|
|
Reference in a new issue