PATCH: Retrieving last 50 chats now

This commit is contained in:
2025-03-05 22:41:31 +00:00
parent cf798eb984
commit e0f36cfb0e

View File

@@ -76,20 +76,24 @@ def get_past_chat(stream_id: int):
# fetched in format: [(username, message, time_sent, is_subscribed)] # fetched in format: [(username, message, time_sent, is_subscribed)]
all_chats = db.fetchall(""" all_chats = db.fetchall("""
SELECT SELECT username, message, time_sent, is_subscribed
u.username, FROM (
c.message, SELECT
c.time_sent, u.username,
CASE c.message,
WHEN s.user_id IS NOT NULL AND s.expires > CURRENT_TIMESTAMP THEN 1 c.time_sent,
ELSE 0 CASE
END AS is_subscribed WHEN s.user_id IS NOT NULL AND s.expires > CURRENT_TIMESTAMP THEN 1
FROM chat c ELSE 0
JOIN users u ON c.chatter_id = u.user_id END AS is_subscribed
LEFT JOIN subscribes s ON c.chatter_id = s.user_id AND s.subscribed_id = ? FROM chat c
WHERE c.stream_id = ? JOIN users u ON c.chatter_id = u.user_id
ORDER BY c.time_sent DESC LEFT JOIN subscribes s ON c.chatter_id = s.user_id AND s.subscribed_id = ?
LIMIT 50; WHERE c.stream_id = ?
ORDER BY c.time_sent DESC
LIMIT 50
) subquery
ORDER BY time_sent ASC;
""", (stream_id, stream_id)) """, (stream_id, stream_id))
db.close_connection() db.close_connection()