diff --git a/server/database.js b/server/database.js index d1fe4d8..065f7ca 100644 --- a/server/database.js +++ b/server/database.js @@ -375,12 +375,22 @@ export function getNextTask() { } export function assignTask(taskId, turtleId) { - const stmt = db.prepare(` - UPDATE task_queue - SET assigned_turtle_id = ?, status = 'assigned', updated_at = ? - WHERE id = ? - `); - stmt.run(turtleId, Date.now(), taskId); + if (turtleId === null || turtleId === undefined) { + // Un-assign: clear turtle and revert to pending + const stmt = db.prepare(` + UPDATE task_queue + SET assigned_turtle_id = NULL, status = 'pending', updated_at = ? + WHERE id = ? + `); + stmt.run(Date.now(), taskId); + } else { + const stmt = db.prepare(` + UPDATE task_queue + SET assigned_turtle_id = ?, status = 'assigned', updated_at = ? + WHERE id = ? + `); + stmt.run(turtleId, Date.now(), taskId); + } } export function updateTaskStatus(taskId, status, result = null) {