app.models.processing_job moduleΒΆ

ProcessingJob model β€” async parsing lifecycle tracker. One per upload (or more if allow_reprocess=true).

class app.models.processing_job.ProcessingJob(**kwargs)[source]ΒΆ

Bases: UUIDPrimaryKeyMixin, Base

bank_statement: Mapped[BankStatement | None]ΒΆ
completed_at: Mapped[datetime | None]ΒΆ
created_at: Mapped[datetime]ΒΆ
document: Mapped[Document]ΒΆ
document_id: Mapped[UUID]ΒΆ
error_detail: Mapped[dict[str, Any] | None]ΒΆ
error_message: Mapped[str | None]ΒΆ
idΒΆ
invoice: Mapped[Invoice | None]ΒΆ
is_reprocess: Mapped[bool]ΒΆ
max_retries: Mapped[int]ΒΆ
ocr_confidence_avg: Mapped[float | None]ΒΆ
ocr_engine: Mapped[str | None]ΒΆ
ocr_used: Mapped[bool]ΒΆ
parser_version: Mapped[str | None]ΒΆ
pdf_encryption_type: Mapped[str | None]ΒΆ
pdf_password_used: Mapped[bool]ΒΆ
retry_count: Mapped[int]ΒΆ
scanned_pages: Mapped[list[int] | None]ΒΆ
started_at: Mapped[datetime | None]ΒΆ
status: Mapped[JobStatus]ΒΆ
updated_at: Mapped[datetime]ΒΆ
warnings: Mapped[list[dict] | None]ΒΆ