From c75a45cfb93188a63a54cafbb4b3d3a87507c28c Mon Sep 17 00:00:00 2001 From: Andrew Nguyen Date: Mon, 27 Oct 2025 01:14:29 -0700 Subject: [PATCH 1/4] New data format to praises --- api/messages/messages_service.py | 34 ++++++++++++++++++++++++++++---- api/messages/messages_views.py | 4 ++++ 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/api/messages/messages_service.py b/api/messages/messages_service.py index 5f30657..f0d3441 100644 --- a/api/messages/messages_service.py +++ b/api/messages/messages_service.py @@ -1766,10 +1766,8 @@ def save_news(json): return Message("Saved News") def save_praise(json): - logger.debug(f"Attempting to save the praise with the json object {json}") - - # Make sure these fields exist praise_receiver, praise_channel, praise_message - check_fields = ["praise_receiver", "praise_channel", "praise_message"] + # Make sure these fields exist praise_receiver, praise_sender, praise_channel, praise_message + check_fields = ["praise_receiver", "praise_sender", "praise_channel", "praise_message"] for field in check_fields: if field not in json: logger.error(f"Missing field {field} in {json}") @@ -1777,6 +1775,34 @@ def save_praise(json): logger.debug(f"Detected required fields, attempting to save praise") json["timestamp"] = datetime.now(pytz.utc).astimezone().isoformat() + + # Add ohack.dev user IDs for both sender and receiver + try: + # Get ohack.dev user ID for praise receiver + receiver_user = get_user_by_user_id(json["praise_receiver"]) + if receiver_user and "id" in receiver_user: + json["praise_receiver_ohack_id"] = receiver_user["id"] + logger.debug(f"Added praise_receiver_ohack_id: {receiver_user['id']}") + else: + logger.warning(f"Could not find ohack.dev user for praise_receiver: {json['praise_receiver']}") + json["praise_receiver_ohack_id"] = None + + # Get ohack.dev user ID for praise sender + sender_user = get_user_by_user_id(json["praise_sender"]) + if sender_user and "id" in sender_user: + json["praise_sender_ohack_id"] = sender_user["id"] + logger.debug(f"Added praise_sender_ohack_id: {sender_user['id']}") + else: + logger.warning(f"Could not find ohack.dev user for praise_sender: {json['praise_sender']}") + json["praise_sender_ohack_id"] = None + + except Exception as e: + logger.error(f"Error getting ohack.dev user IDs: {str(e)}") + json["praise_receiver_ohack_id"] = None + json["praise_sender_ohack_id"] = None + + + logger.info(f"Attempting to save the praise with the json object {json}") upsert_praise(json) logger.info("Updated praise successfully") diff --git a/api/messages/messages_views.py b/api/messages/messages_views.py index b385c57..ed73bd6 100644 --- a/api/messages/messages_views.py +++ b/api/messages/messages_views.py @@ -505,7 +505,11 @@ def store_praise(): receiver_id = json_data.get("praise_receiver") # Check BACKEND_NEWS_TOKEN + logger.info(f"Token: {token}") + environment_token = os.getenv("BACKEND_PRAISE_TOKEN") + logger.info(f"environment praise token: {environment_token}") if token == None or token != os.getenv("BACKEND_PRAISE_TOKEN"): + logger.info(f"Token mismatch: {token} != {environment_token}") return "Unauthorized", 401 elif sender_id == receiver_id: return "You cannot write a praise about yourself", 400 From 026e7867a93a1c15e290df2a664dcb3949fc28af Mon Sep 17 00:00:00 2001 From: Andrew Nguyen Date: Mon, 27 Oct 2025 01:20:27 -0700 Subject: [PATCH 2/4] Removed unnecessary logs and changes --- api/messages/messages_service.py | 2 +- api/messages/messages_views.py | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/api/messages/messages_service.py b/api/messages/messages_service.py index f0d3441..14d6b88 100644 --- a/api/messages/messages_service.py +++ b/api/messages/messages_service.py @@ -1767,7 +1767,7 @@ def save_news(json): def save_praise(json): # Make sure these fields exist praise_receiver, praise_sender, praise_channel, praise_message - check_fields = ["praise_receiver", "praise_sender", "praise_channel", "praise_message"] + check_fields = ["praise_receiver", "praise_channel", "praise_message"] for field in check_fields: if field not in json: logger.error(f"Missing field {field} in {json}") diff --git a/api/messages/messages_views.py b/api/messages/messages_views.py index ed73bd6..b385c57 100644 --- a/api/messages/messages_views.py +++ b/api/messages/messages_views.py @@ -505,11 +505,7 @@ def store_praise(): receiver_id = json_data.get("praise_receiver") # Check BACKEND_NEWS_TOKEN - logger.info(f"Token: {token}") - environment_token = os.getenv("BACKEND_PRAISE_TOKEN") - logger.info(f"environment praise token: {environment_token}") if token == None or token != os.getenv("BACKEND_PRAISE_TOKEN"): - logger.info(f"Token mismatch: {token} != {environment_token}") return "Unauthorized", 401 elif sender_id == receiver_id: return "You cannot write a praise about yourself", 400 From 3c7b7d56f7a8bd4fad163e76be112ea10f05700d Mon Sep 17 00:00:00 2001 From: Andrew Nguyen Date: Mon, 27 Oct 2025 01:22:04 -0700 Subject: [PATCH 3/4] edited misleading comment --- api/messages/messages_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/messages/messages_service.py b/api/messages/messages_service.py index 14d6b88..eecf483 100644 --- a/api/messages/messages_service.py +++ b/api/messages/messages_service.py @@ -1766,7 +1766,7 @@ def save_news(json): return Message("Saved News") def save_praise(json): - # Make sure these fields exist praise_receiver, praise_sender, praise_channel, praise_message + # Make sure these fields exist praise_receiver, praise_channel, praise_message check_fields = ["praise_receiver", "praise_channel", "praise_message"] for field in check_fields: if field not in json: From e916896ed5a8ed8661c358e2cbdf3cc9ba28be15 Mon Sep 17 00:00:00 2001 From: Greg V Date: Tue, 28 Oct 2025 20:50:09 -0700 Subject: [PATCH 4/4] Update api/messages/messages_service.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- api/messages/messages_service.py | 1 - 1 file changed, 1 deletion(-) diff --git a/api/messages/messages_service.py b/api/messages/messages_service.py index eecf483..d29e566 100644 --- a/api/messages/messages_service.py +++ b/api/messages/messages_service.py @@ -1801,7 +1801,6 @@ def save_praise(json): json["praise_receiver_ohack_id"] = None json["praise_sender_ohack_id"] = None - logger.info(f"Attempting to save the praise with the json object {json}") upsert_praise(json)