From e0f36cfb0ed4987e03843416e41164de9a44a681 Mon Sep 17 00:00:00 2001 From: ThisBirchWood Date: Wed, 5 Mar 2025 22:41:31 +0000 Subject: [PATCH] PATCH: Retrieving last 50 chats now --- web_server/blueprints/chat.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/web_server/blueprints/chat.py b/web_server/blueprints/chat.py index 8a60caa..57001aa 100644 --- a/web_server/blueprints/chat.py +++ b/web_server/blueprints/chat.py @@ -76,20 +76,24 @@ def get_past_chat(stream_id: int): # fetched in format: [(username, message, time_sent, is_subscribed)] all_chats = db.fetchall(""" - SELECT - u.username, - c.message, - c.time_sent, - CASE - WHEN s.user_id IS NOT NULL AND s.expires > CURRENT_TIMESTAMP THEN 1 - ELSE 0 - END AS is_subscribed - FROM chat c - JOIN users u ON c.chatter_id = u.user_id - LEFT JOIN subscribes s ON c.chatter_id = s.user_id AND s.subscribed_id = ? - WHERE c.stream_id = ? - ORDER BY c.time_sent DESC - LIMIT 50; + SELECT username, message, time_sent, is_subscribed + FROM ( + SELECT + u.username, + c.message, + c.time_sent, + CASE + WHEN s.user_id IS NOT NULL AND s.expires > CURRENT_TIMESTAMP THEN 1 + ELSE 0 + END AS is_subscribed + FROM chat c + JOIN users u ON c.chatter_id = u.user_id + LEFT JOIN subscribes s ON c.chatter_id = s.user_id AND s.subscribed_id = ? + WHERE c.stream_id = ? + ORDER BY c.time_sent DESC + LIMIT 50 + ) subquery + ORDER BY time_sent ASC; """, (stream_id, stream_id)) db.close_connection()