From cd707226f677ee471ba90c4d8dfa4772a20b5c7a Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Sat, 9 Jan 2021 17:33:00 +0100 Subject: [PATCH] Set `version` and `previous` in metadata --- middleware/app_be/views/rest_api.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/middleware/app_be/views/rest_api.py b/middleware/app_be/views/rest_api.py index a3a6a0c..ec91197 100644 --- a/middleware/app_be/views/rest_api.py +++ b/middleware/app_be/views/rest_api.py @@ -111,6 +111,8 @@ class ImageEndpoint: b64encoded_image = payload['image_data'] identifier = payload['id'] metadata = payload['metadata'] + metadata['version'] = 0 + metadata['previous'] = '' filename = payload['metadata']['filename'] decoded_image = WrapperService.unwrap_file(b64encoded_image) @@ -172,25 +174,27 @@ class ImageEndpoint: def image_api_update(request, identifier): logger.debug('Image UPDATE single call: {}'.format(request)) - # get metadata from MongoDB - metadata = MongoDBService.getSingle(identifier) - if not metadata: - return JsonResponse({'Result': 'Error - Could not find image to be updated', - 'id': identifier}, status=404, safe=False) - payload = json.loads(request.body) b64encoded_image = payload['image_data'] identifier = payload['id'] metadata = payload['metadata'] filename = payload['metadata']['filename'] + # get metadata from MongoDB + mongodb_metadata = MongoDBService.getSingle(identifier) + if not mongodb_metadata: + return JsonResponse({'Result': 'Error - Could not find image to be updated', + 'id': identifier}, status=404, safe=False) + + metadata['version'] = mongodb_metadata['version'] + decoded_image = WrapperService.unwrap_file(b64encoded_image) MongoDBService.updateSingle(identifier, decoded_image) for service in ImageEndpoint.storageServiceList: - orig_new_name = identifier + '_' + payload['metadata']['version'] + '.jpg' - if not service.move_file(identifier, orig_new_name): + orig_new_name = identifier + '_' + str(metadata['version']) + '.jpg' + if not service.move_file(identifier, orig_new_name, decoded_image): print("Could not move file from {} to {}".format(identifier, orig_new_name)) if not service.create_file(filename, decoded_image): print("Could not save updated image to " + service.name)