feat(kanban): drag-to-delete trash zone + bulk delete for task cards

Salvages #28125 by @Jpalmer95. Adds:
- Drag-to-delete trash zone in the kanban dashboard
- Bulk delete endpoint with cascading delete_task cleanup
- Frontend updates (drag visual + drop handler)
- Confirmation prompt before delete

Resolved end-of-file test conflict by appending both halves.
This commit is contained in:
Jpalmer95
2026-05-18 21:40:13 -07:00
committed by Teknium
parent e3823657d6
commit dfcf48b476
6 changed files with 266 additions and 14 deletions
+17
View File
@@ -730,6 +730,23 @@ def update_task(task_id: str, payload: UpdateTaskBody, board: Optional[str] = Qu
conn.close()
# ---------------------------------------------------------------------------
# DELETE /tasks/:id
# ---------------------------------------------------------------------------
@router.delete("/tasks/{task_id}")
def delete_task(task_id: str, board: Optional[str] = Query(None)):
board = _resolve_board(board)
conn = _conn(board=board)
try:
ok = kanban_db.delete_task(conn, task_id)
if not ok:
raise HTTPException(status_code=404, detail=f"task {task_id} not found")
return {"deleted": True, "task_id": task_id}
finally:
conn.close()
def _set_status_direct(
conn: sqlite3.Connection, task_id: str, new_status: str,
) -> bool: