From d6a4c95d7224151b9610e9591fc8b3ebca5ed7c2 Mon Sep 17 00:00:00 2001 From: Codex Date: Fri, 26 Jun 2026 15:00:04 +0800 Subject: [PATCH] Fix review task persistence for corrections --- app/app/routers/records.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/app/routers/records.py b/app/app/routers/records.py index cf2a7b1..af038bd 100644 --- a/app/app/routers/records.py +++ b/app/app/routers/records.py @@ -61,12 +61,15 @@ def record_student_account(student: str, _user: str = Depends(verify_records_aut @router.post("/api/corrections") def submit_corrections(payload: CorrectionSubmitPayload, _user: str = Depends(verify_records_auth)): try: - result = submit_public_correction_tasks( - ADMIN_TASKS_PATH, - load_records(), - load_teachers(), - [item.dict() for item in payload.items], - ) + records = load_records() + teachers = load_teachers() + with write_lock: + result = submit_public_correction_tasks( + ADMIN_TASKS_PATH, + records, + teachers, + [item.dict() for item in payload.items], + ) except ValueError as exc: raise HTTPException(status_code=400, detail=str(exc)) from exc return {"ok": True, **result} @@ -75,11 +78,13 @@ def submit_corrections(payload: CorrectionSubmitPayload, _user: str = Depends(ve @router.post("/api/deletions") def submit_deletions(payload: DeletionSubmitPayload, _user: str = Depends(verify_records_auth)): try: - result = submit_public_deletion_tasks( - ADMIN_TASKS_PATH, - load_records(), - [item.dict() for item in payload.items], - ) + records = load_records() + with write_lock: + result = submit_public_deletion_tasks( + ADMIN_TASKS_PATH, + records, + [item.dict() for item in payload.items], + ) except ValueError as exc: raise HTTPException(status_code=400, detail=str(exc)) from exc return {"ok": True, **result}