Spaces:
Paused
Paused
fix: delete member cascades to sos/pings/call log
Browse files- server/src/routes.js +7 -2
server/src/routes.js
CHANGED
|
@@ -55,8 +55,13 @@ router.put('/members/:id', (req, res) => {
|
|
| 55 |
});
|
| 56 |
|
| 57 |
router.delete('/members/:id', (req, res) => {
|
| 58 |
-
const
|
| 59 |
-
if (!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
hub(req)?.broadcastMembers();
|
| 61 |
res.json({ ok: true });
|
| 62 |
});
|
|
|
|
| 55 |
});
|
| 56 |
|
| 57 |
router.delete('/members/:id', (req, res) => {
|
| 58 |
+
const m = db.prepare('SELECT id FROM members WHERE id = ?').get(req.params.id);
|
| 59 |
+
if (!m) return res.status(404).json({ error: 'member not found' });
|
| 60 |
+
// remove history first: FK references would otherwise make this fail
|
| 61 |
+
db.prepare('DELETE FROM gps_pings WHERE member_id = ?').run(m.id);
|
| 62 |
+
db.prepare('DELETE FROM sos_alerts WHERE member_id = ?').run(m.id);
|
| 63 |
+
db.prepare('DELETE FROM call_log WHERE member_id = ?').run(m.id);
|
| 64 |
+
db.prepare('DELETE FROM members WHERE id = ?').run(m.id);
|
| 65 |
hub(req)?.broadcastMembers();
|
| 66 |
res.json({ ok: true });
|
| 67 |
});
|