|
@@ -151,4 +151,44 @@ async def update_task_status(
|
|
|
|
|
|
except Exception as e:
|
|
|
db.rollback()
|
|
|
- raise HTTPException(status_code=500, detail=str(e))
|
|
|
+ raise HTTPException(status_code=500, detail=str(e))
|
|
|
+
|
|
|
+
|
|
|
+@router.delete('/delete')
|
|
|
+async def delete_task(
|
|
|
+ request: Request,
|
|
|
+ db: Session = Depends(get_db),
|
|
|
+ user_id=Depends(valid_access_token)): # 确保用户已验证
|
|
|
+ try:
|
|
|
+ body = await request.json()
|
|
|
+ task_id_to_use = body.get('taskID')
|
|
|
+ if not task_id_to_use:
|
|
|
+ raise HTTPException(status_code=400, detail="Missing required parameter 'taskID'")
|
|
|
+
|
|
|
+ # 查询要删除的任务
|
|
|
+ task_entry = db.query(TaskRegistration).filter(TaskRegistration.task_id == task_id_to_use).first()
|
|
|
+ if not task_entry:
|
|
|
+ raise HTTPException(status_code=404, detail="任务不存在")
|
|
|
+
|
|
|
+ # 将找到的任务的 del_flag 改为 '2'
|
|
|
+ task_entry.del_flag = '2'
|
|
|
+
|
|
|
+ try:
|
|
|
+ db.commit()
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "msg": "任务删除成功",
|
|
|
+ "data": {
|
|
|
+ "task_id": task_entry.task_id
|
|
|
+ }
|
|
|
+ }
|
|
|
+ except Exception as e:
|
|
|
+ db.rollback()
|
|
|
+ raise HTTPException(status_code=500, detail=f"An error occurred while deleting the task: {str(e)}")
|
|
|
+
|
|
|
+ except HTTPException as e:
|
|
|
+ # 如果捕获到HTTP异常,直接抛出
|
|
|
+ raise e
|
|
|
+ except Exception as e:
|
|
|
+ db.rollback()
|
|
|
+ raise HTTPException(status_code=500, detail=f"An unexpected error occurred: {str(e)}")
|