fix(phase26): server trip delete persists across recompute + batch delete with checkboxes
This commit is contained in:
+16
-1
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user