From eb9c91aff849ff3b92269f78f4d232297138cf80 Mon Sep 17 00:00:00 2001 From: Dicken Date: Wed, 27 May 2026 19:31:26 +0200 Subject: [PATCH] Dateien nach "backend/src/tools/nachrichten" hochladen --- backend/src/tools/nachrichten/routes.js | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/backend/src/tools/nachrichten/routes.js b/backend/src/tools/nachrichten/routes.js index e22947c..e8e85e4 100644 --- a/backend/src/tools/nachrichten/routes.js +++ b/backend/src/tools/nachrichten/routes.js @@ -104,7 +104,7 @@ router.post('/messages/:userId', authenticate, async (req, res) => { res.json({ id: result.lastInsertRowid }); }); -// DELETE single message (own side only) +// DELETE single message – sofort physisch löschen router.delete('/messages/:messageId', authenticate, (req, res) => { const me = req.user.id; const mid = parseInt(req.params.messageId); @@ -112,29 +112,17 @@ router.delete('/messages/:messageId', authenticate, (req, res) => { if (!msg) return res.status(404).json({ error: 'Nicht gefunden' }); if (msg.sender_id !== me && msg.recipient_id !== me) return res.status(403).json({ error: 'Kein Zugriff' }); - - if (msg.sender_id === me) { - db.prepare('UPDATE messages SET deleted_by_sender = 1 WHERE id = ?').run(mid); - } else { - db.prepare('UPDATE messages SET deleted_by_recipient = 1 WHERE id = ?').run(mid); - } - // Physical delete when both sides have deleted - db.prepare('DELETE FROM messages WHERE id = ? AND deleted_by_sender = 1 AND deleted_by_recipient = 1').run(mid); + db.prepare('DELETE FROM messages WHERE id = ?').run(mid); res.json({ ok: true }); }); -// DELETE entire conversation (own side) +// DELETE entire conversation – sofort physisch löschen router.delete('/conversation/:userId', authenticate, (req, res) => { const me = req.user.id; const other = parseInt(req.params.userId); - - db.prepare('UPDATE messages SET deleted_by_sender = 1 WHERE sender_id = ? AND recipient_id = ?').run(me, other); - db.prepare('UPDATE messages SET deleted_by_recipient = 1 WHERE recipient_id = ? AND sender_id = ?').run(me, other); - // Physical cleanup where both deleted db.prepare(` DELETE FROM messages - WHERE deleted_by_sender = 1 AND deleted_by_recipient = 1 - AND ((sender_id = ? AND recipient_id = ?) OR (sender_id = ? AND recipient_id = ?)) + WHERE (sender_id = ? AND recipient_id = ?) OR (sender_id = ? AND recipient_id = ?) `).run(me, other, other, me); res.json({ ok: true }); });