UI improvements, added attachments volume to docker-compose.yml
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user