This commit is contained in:
386a51 committed 2026-04-08 22:38:28 +00:00
1 parent cd95be172b
commit adf3f13a0d
4 files changed
+42 -5

No files matched your search

BIN
View File
Binary file not shown.
View File
Whitespace-only changes.
+27 -5
View File
@@ -547,7 +547,7 @@ def get_user_conversations(user_id):
def get_messages_between_users(user1_id, user2_id, limit=50, offset=0): def get_messages_between_users(user1_id, user2_id, limit=50, offset=0):
"""Get message history between two users""" """Simplified version - Get message history between two users"""
with get_db() as conn: with get_db() as conn:
rows = conn.execute(""" rows = conn.execute("""
SELECT m.*, SELECT m.*,
@@ -556,14 +556,36 @@ def get_messages_between_users(user1_id, user2_id, limit=50, offset=0):
FROM messages m FROM messages m
JOIN users u1 ON m.sender_id = u1.user_id JOIN users u1 ON m.sender_id = u1.user_id
JOIN users u2 ON m.receiver_id = u2.user_id JOIN users u2 ON m.receiver_id = u2.user_id
WHERE ((m.sender_id = ? AND m.receiver_id = ?) OR (m.sender_id = ? AND m.receiver_id = ?)) WHERE (m.sender_id = ? AND m.receiver_id = ?)
AND ((m.sender_id = ? AND m.sender_deleted = 0) OR (m.receiver_id = ? AND m.receiver_deleted = 0)) OR (m.sender_id = ? AND m.receiver_id = ?)
ORDER BY m.created_at DESC ORDER BY m.created_at ASC
LIMIT ? OFFSET ? LIMIT ? OFFSET ?
""", (user1_id, user2_id, user2_id, user1_id, user1_id, user2_id, limit, offset)) """, (user1_id, user2_id, user2_id, user1_id, limit, offset))
return [dict(row) for row in rows] return [dict(row) for row in rows]
#def get_messages_between_users(user1_id, user2_id, limit=50, offset=0):
# """Get message history between two users"""
# with get_db() as conn:
# rows = conn.execute("""
# SELECT m.*,
# u1.username as sender_name,
# u2.username as receiver_name
# FROM messages m
# JOIN users u1 ON m.sender_id = u1.user_id
# JOIN users u2 ON m.receiver_id = u2.user_id
# WHERE ((m.sender_id = ? AND m.receiver_id = ?) OR (m.sender_id = ? AND m.receiver_id = ?))
# AND ((m.sender_id = ? AND m.sender_deleted = 0) OR (m.receiver_id = ? AND m.receiver_deleted = 0))
# ORDER BY m.created_at DESC
# LIMIT ? OFFSET ?
# """, (user1_id, user2_id, user2_id, user1_id, user1_id, user2_id, limit, offset))
# return [dict(row) for row in rows]
def mark_message_as_read(message_id, user_id): def mark_message_as_read(message_id, user_id):
"""Mark a specific message as read""" """Mark a specific message as read"""
with get_db() as conn: with get_db() as conn:
+15
View File
@@ -0,0 +1,15 @@
CREATE TABLE IF NOT EXISTS messages (
message_id INTEGER PRIMARY KEY AUTOINCREMENT,
sender_id INTEGER NOT NULL,
receiver_id INTEGER NOT NULL,
subject TEXT,
body TEXT NOT NULL,
is_read BOOLEAN DEFAULT 0,
sender_deleted BOOLEAN DEFAULT 0,
receiver_deleted BOOLEAN DEFAULT 0,
parent_message_id INTEGER,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (sender_id) REFERENCES users(user_id),
FOREIGN KEY (receiver_id) REFERENCES users(user_id),
FOREIGN KEY (parent_message_id) REFERENCES messages(message_id)
);