Files
k1nq d582f15681 feat: add tests for import polling, login page, money utilities, and query keys
- Implemented tests for import polling functionality, ensuring correct behavior for active and terminal import statuses.
- Created tests for the login page, validating user interactions and error handling.
- Added unit tests for money utility functions, covering parsing, formatting, and summation of monetary values.
- Developed tests for query keys, ensuring proper scoping and invalidation roots.

chore: setup testing environment and configuration

- Added setup file for testing with Vitest and Testing Library.
- Configured TypeScript and Vite for the frontend project.
- Created Docker and Nginx configurations for local development and production environments.
- Established a PostgreSQL initialization script for setting up application roles.

docs: add README and environment configuration for infra

- Included README for the infra directory, detailing local development setup and service descriptions.
- Created an example environment configuration file for local development with placeholders for sensitive information.
2026-09-14 09:26:33 +05:00

23 lines
790 B
Python

import uuid
from app.imports.celery_app import celery_app
@celery_app.task(name="imports.process_statement", bind=True, max_retries=3, default_retry_delay=10)
def process_statement_task(self, document_id: str, space_id: str) -> str:
from app.imports.service import process_statement_document
try:
status = process_statement_document(uuid.UUID(document_id), uuid.UUID(space_id))
if status == "failed":
raise RuntimeError("statement parsing failed")
except Exception as exc:
if self.request.retries < 3:
raise self.retry(exc=exc) from exc
raise
return document_id
def enqueue_process_statement(document_id: uuid.UUID, space_id: uuid.UUID) -> None:
process_statement_task.delay(str(document_id), str(space_id))