fix: mock

This commit is contained in:
2026-03-13 23:29:55 +08:00
parent b7e973e2b6
commit c72fbc9a14
7 changed files with 165 additions and 21 deletions

View File

@@ -51,8 +51,12 @@ class ImageRepository(BaseRepository[EvidenceImage]):
async def list_for_ocr(self, case_id: UUID, include_done: bool = False) -> list[EvidenceImage]:
query = select(EvidenceImage).where(EvidenceImage.case_id == case_id)
if not include_done:
query = query.where(EvidenceImage.ocr_status != OcrStatus.done)
# Always exclude currently-processing images to avoid duplicate OCR
# submission from different trigger paths (upload/workspace/screenshots).
if include_done:
query = query.where(EvidenceImage.ocr_status != OcrStatus.processing)
else:
query = query.where(EvidenceImage.ocr_status.in_([OcrStatus.pending, OcrStatus.failed]))
result = await self.session.execute(query.order_by(EvidenceImage.uploaded_at.desc()))
return list(result.scalars().all())