UI improvements, added attachments volume to docker-compose.yml

This commit is contained in:
slawk0
2025-01-03 17:31:04 +01:00
parent 9da939c66f
commit 8b545e056b
8 changed files with 65 additions and 27 deletions

View File

@@ -568,7 +568,29 @@ async function insertContact(userUsername, receiverUsername, read) {
]);
const contact = contactResult.rows[0];
// 6. Return formatted result with contact's user_id
// 6. Retrieve the last message, last active time, and last message sender
const lastMessageQuery = `
SELECT DISTINCT ON (m.conversation_id)
m.content AS last_message,
m.sent_at AS last_message_time,
a.username AS last_message_sender
FROM Messages m
JOIN Accounts a ON m.user_id = a.user_id
WHERE m.conversation_id = $1
ORDER BY m.conversation_id, m.sent_at DESC
`;
const lastMessageResult = await client.query(lastMessageQuery, [
conversation_id,
]);
let lastMessage, lastMessageTime, lastMessageSender;
if (lastMessageResult.rows.length > 0) {
lastMessage = lastMessageResult.rows[0].last_message;
lastMessageTime = lastMessageResult.rows[0].last_message_time;
lastMessageSender = lastMessageResult.rows[0].last_message_sender;
}
// 7. Return formatted result with contact's user_id, last message, last active time, and last message sender
return {
id: contact.contact_id,
user_id: contact_id, // Now using the contact's user_id instead of the initiator's
@@ -577,6 +599,9 @@ async function insertContact(userUsername, receiverUsername, read) {
conversation_id: contact.conversation_id,
type: "direct",
read: contact.read,
last_message: lastMessage,
last_message_time: lastMessageTime,
last_message_sender: lastMessageSender,
};
} catch (error) {
console.error("Failed to insert contact:", error);