secutorpro commited on
Commit
aa41b23
·
verified ·
1 Parent(s): 0e7df75

fix: delete member cascades to sos/pings/call log

Browse files
Files changed (1) hide show
  1. 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 info = db.prepare('DELETE FROM members WHERE id = ?').run(req.params.id);
59
- if (!info.changes) return res.status(404).json({ error: 'member not found' });
 
 
 
 
 
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
  });