diff --git a/middleware/app_be/views/rest_api.py b/middleware/app_be/views/rest_api.py index 1ed1cf7..c28900c 100644 --- a/middleware/app_be/views/rest_api.py +++ b/middleware/app_be/views/rest_api.py @@ -198,20 +198,27 @@ class ImageEndpoint: logger.debug('Image DELETE single call: {}'.format(request)) result_bool = True - # get metadata from MongoDB - metadata = MongoDBService.getSingle(identifier) + while identifier is not None: + # get metadata from MongoDB + metadata = MongoDBService.getSingle(identifier) - if not metadata: - return JsonResponse({'Result': 'Error - could not find any metadata in mongoDB.', + if not metadata: + return JsonResponse({'Result': 'Error - could not find any metadata in mongoDB.', 'id': identifier}, status=404, safe=False) - resp = MongoDBService.deleteSingle(identifier) - print(resp) + resp = MongoDBService.deleteSingle(identifier) + print(resp) - for service in ImageEndpoint.storageServiceList: - if not service.delete_file(metadata['filename']): - print('Error deleting file in ' + service.name) - result_bool = False + for service in ImageEndpoint.storageServiceList: + if not service.delete_file(metadata['filename']): + print('Error deleting file in ' + service.name) + result_bool = False + + identifier = None + if 'previous' in metadata: + identifier = metadata['previous'] + if identifier == '': + identifier = None return JsonResponse({'Result': result_bool}, safe=False)