Make images belong to one repository only. Add a description field to the repository. Fix a bug with access tokens. Fix an embarrasing bug with multiple select criteria in peewee. Update the test db.

This commit is contained in:
yackob03 2013-09-26 15:58:11 -04:00
parent 5caa54ffb3
commit 23cbcb2979
6 changed files with 79 additions and 67 deletions

View file

@ -55,9 +55,6 @@ def create_user():
@app.route('/v1/users/', methods=['GET'])
@process_auth
def get_user():
if not get_authenticated_user():
abort(401)
return jsonify({
'username': get_authenticated_user().username,
'email': get_authenticated_user().email,
@ -101,14 +98,9 @@ def create_repository(namespace, repository):
if repo:
permission = ModifyRepositoryPermission(namespace, repository)
if not permission.can():
if get_validated_token() or get_authenticated_user():
abort(403)
else:
abort(401)
else:
if not get_authenticated_user():
abort(401)
abort(403)
else:
if get_authenticated_user().username != namespace:
abort(403)
@ -126,8 +118,7 @@ def create_repository(namespace, repository):
existing.repositoryimage.delete()
for image_description in added_images.values():
image = model.create_image(image_description['id'])
model.assign_image_repository(repo, image, image_description['Tag'])
image = model.create_image(image_description['id'], repo)
response = make_response('Created', 201)
return response
@ -141,10 +132,13 @@ def update_images(namespace, repository):
permission = ModifyRepositoryPermission(namespace, repository)
if permission.can():
repository = model.get_repository(namespace, repository)
image_with_checksums = json.loads(request.data)
for image in image_with_checksums:
model.set_image_checksum(image['id'], image['checksum'])
logger.debug('Setting checksum for image id: %s to %s' %
(image['id'], image['checksum']))
model.set_image_checksum(image['id'], repository, image['checksum'])
return make_response('Updated', 204)
@ -165,7 +159,6 @@ def get_repository_images(namespace, repository):
for image in model.get_repository_images(namespace, repository):
new_image_view = {
'id': image.image_id,
'tag': image.repositoryimage.tag,
'checksum': image.checksum,
}
all_images.append(new_image_view)