From 05ab0fdaf6662aa44951d9171b71d84521fd6296 Mon Sep 17 00:00:00 2001 From: William De Rocco <93288641+wderocco8@users.noreply.github.com> Date: Fri, 13 Sep 2024 17:47:57 -0400 Subject: [PATCH] fixed bug when updating event without changing image --- chalicelib/services/EventsRushService.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/chalicelib/services/EventsRushService.py b/chalicelib/services/EventsRushService.py index 68b0cf8..328a477 100644 --- a/chalicelib/services/EventsRushService.py +++ b/chalicelib/services/EventsRushService.py @@ -72,7 +72,8 @@ def modify_rush_event(self, data: dict): data["lastModified"] = datetime.datetime.now() data["_id"] = event_oid - # get image versions + # get existing image and image versions + eventCoverImage: str = data["eventCoverImage"] eventCoverImageVersion = data["eventCoverImageVersion"] prevEventCoverImageVersion = get_prev_image_version(version=eventCoverImageVersion) @@ -94,14 +95,16 @@ def modify_rush_event(self, data: dict): image_path = f"image/rush/{event_category_id}/{event_id}/{eventCoverImageVersion}.png" prev_image_path = f"image/rush/{event_category_id}/{event_id}/{prevEventCoverImageVersion}.png" - # remove previous eventCoverImage from s3 bucket - s3.delete_binary_data(object_id=prev_image_path) - - # upload eventCoverImage to s3 bucket - image_url = s3.upload_binary_data(path=image_path, data=data["eventCoverImage"]) + # only need to re-upload and delete old image if eventCoverImage does NOT contain https://whyphi-zap.s3.amazonaws.com + if "https://whyphi-zap.s3.amazonaws.com" not in eventCoverImage: + # remove previous eventCoverImage from s3 bucket + s3.delete_binary_data(object_id=prev_image_path) + + # upload eventCoverImage to s3 bucket + image_url = s3.upload_binary_data(path=image_path, data=eventCoverImage) - # add image_url to data object (this also replaces the original base64 image url) - data["eventCoverImage"] = image_url + # add image_url to data object (this also replaces the original base64 image url) + data["eventCoverImage"] = image_url # Merge data with event (from client + mongo) --> NOTE: event must be unpacked first so # that data overrides the matching keys