fix(phase26): server trip delete persists across recompute + batch delete with checkboxes

This commit is contained in:
Mathieu Moran
2026-08-11 04:18:58 -04:00
parent e6bc488e84
commit bdc7a9afb7
6 changed files with 133 additions and 5 deletions
+16 -1
View File
@@ -571,10 +571,11 @@ def geocode():
@app.post("/api/v1/portal/recompute-trips")
@require_login
def recompute_trips():
"""Manually trigger trip recomputation. Called after upload batch for freshness."""
"""Recompute trips from scratch, clearing all deletion markers."""
device_id = _portal_device_id()
if device_id is None:
return jsonify(error="device not configured"), 404
db.clear_deleted_trip_markers(device_id)
n = db.compute_trips_for_device(device_id)
return jsonify(status="ok", trips_computed=n)
@@ -591,6 +592,20 @@ def portal_delete_trip(trip_id):
return jsonify(status="ok")
@app.post("/api/v1/portal/trips/delete")
@require_login
def portal_delete_trips_batch():
device_id = _portal_device_id()
if device_id is None:
return jsonify(error="device not configured"), 404
body = request.get_json(silent=True) or {}
ids = body.get("ids")
if not isinstance(ids, list) or not ids:
return jsonify(error="expected {ids: [...]}"), 400
deleted = db.delete_trips_batch(device_id, ids)
return jsonify(status="ok", deleted=deleted)
@app.delete("/api/v1/portal/dashcam/<int:file_id>")
@require_login
def portal_delete_dashcam(file_id):