Add api function to fully delete a repository.

This commit is contained in:
yackob03 2013-10-01 12:13:25 -04:00
parent 891f992bf2
commit 4b9c6d9aae
5 changed files with 37 additions and 22 deletions

View file

@ -11,6 +11,7 @@ from util.gravatar import compute_hash
from auth.permissions import (ReadRepositoryPermission,
ModifyRepositoryPermission,
AdministerRepositoryPermission)
from endpoints.registry import delete_registry_storage
logger = logging.getLogger(__name__)
@ -138,6 +139,19 @@ def change_repo_visibility_api(namespace, repository):
abort(404)
@app.route('/api/repository/<path:repository>', methods=['DELETE'])
@api_login_required
@parse_repository_name
def delete_repository(namespace, repository):
permission = AdministerRepositoryPermission(namespace, repository)
if permission.can():
model.purge_repository(namespace, repository)
delete_registry_storage(namespace, repository)
return make_response('Deleted', 204)
abort(404)
def image_view(image):
return {
'id': image.image_id,