From 373e19f447143adf9205b014c7a1efb0feb21759 Mon Sep 17 00:00:00 2001 From: Dicken Date: Tue, 26 May 2026 14:01:13 +0200 Subject: [PATCH] Dateien nach "backend/src/routes" hochladen --- backend/src/routes/admin.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/src/routes/admin.js b/backend/src/routes/admin.js index b293bd8..3c446c4 100644 --- a/backend/src/routes/admin.js +++ b/backend/src/routes/admin.js @@ -65,6 +65,11 @@ router.delete('/users/:id', authenticate, requireAdmin, (req, res) => { if (id === req.user.id) return res.status(400).json({ error: 'Du kannst dich nicht selbst löschen' }); const user = db.prepare('SELECT * FROM users WHERE id=?').get(id); if (!user) return res.status(404).json({ error: 'Benutzer nicht gefunden' }); + // Sicherstellen dass mindestens ein Admin bleibt + if (user.role === 'admin') { + const adminCount = db.prepare("SELECT COUNT(*) c FROM users WHERE role='admin'").get().c; + if (adminCount <= 1) return res.status(400).json({ error: 'Mindestens ein Administrator muss verbleiben' }); + } // Cascade: alle Daten des Users löschen db.prepare('DELETE FROM calculations WHERE user_id=?').run(id); db.prepare('DELETE FROM orders WHERE user_id=?').run(id);