|
@@ -166,6 +166,9 @@ router.delete('/:id', requireAuth, async (req, res) => {
|
|
|
try {
|
|
try {
|
|
|
const track = await Track.findOne({ where: { id: req.params.id, userId: req.user.id } });
|
|
const track = await Track.findOne({ where: { id: req.params.id, userId: req.user.id } });
|
|
|
if (!track) return res.status(404).json({ error: 'Track not found' });
|
|
if (!track) return res.status(404).json({ error: 'Track not found' });
|
|
|
|
|
+ // Delete children explicitly — don't rely on DB-level cascade
|
|
|
|
|
+ await TrackPoint.destroy({ where: { trackId: track.id } });
|
|
|
|
|
+ await ShareLink.destroy({ where: { trackId: track.id } });
|
|
|
await track.destroy();
|
|
await track.destroy();
|
|
|
res.json({ ok: true });
|
|
res.json({ ok: true });
|
|
|
} catch (e) {
|
|
} catch (e) {
|