add: added image attachments to messages

This commit is contained in:
Lukian 2025-05-12 11:26:15 +02:00
parent 8f77a271e1
commit fb90f1ef4f
10 changed files with 169 additions and 10 deletions

View file

@ -1,5 +1,5 @@
const express = require('express');
const { getConnection, getUsers, getUserByUsername, getUserLastMessages, getMentions, deleteUser, deleteUserMessages, deleteUserMentions, setUserPfp } = require('../libs/mysql');
const { getConnection, getUsers, getUserByUsername, getUserLastMessages, getMentions, deleteUser, setUserPfp, getMessageAttachments, getUnusedAttachments, deleteUnusedAttachments } = require('../libs/mysql');
const { checkAuth } = require("../libs/middlewares")
const path = require('path');
const fs = require('node:fs');
@ -38,6 +38,12 @@ router.get('/:username/lastmessages', async (req, res) => {
message.mentions = [];
}
message.replies = [];
if (message.has_attachments) {
const attachments = await getMessageAttachments(connection, message.id);
message.attachments = attachments;
} else {
message.attachments = [];
}
}
connection.end();
@ -87,6 +93,14 @@ router.post('/:username/delete', checkAuth, async (req, res) => {
await deleteUser(connection, userToDelete[0].id);
const attachments = await getUnusedAttachments(connection);
for (const attachment of attachments) {
if (fs.existsSync(`data/attachments/${attachment.file_name}`)) {
fs.unlinkSync(`data/attachments/${attachment.file_name}`);
}
}
await deleteUnusedAttachments(connection);
connection.end();
req.sockets.emit({