from uuid import UUID from pydantic import BaseModel, ConfigDict class BulkUploadFinaliserTriggerBody(BaseModel): """Trigger body for the bulk_upload_finaliser Lambda (ADR-0013). Dispatched by the Next.js Finalise action via ``POST /v1/bulk-uploads/trigger-finaliser``. ``s3_uri`` is the combiner output (``combined_output_s3_uri``) — the same address/UPRN CSV the old synchronous ``/finalize`` route read. """ model_config = ConfigDict(extra="allow") task_id: UUID sub_task_id: UUID s3_uri: str # bigint in the FE schema; Python int is unbounded so Pydantic stays simple. portfolio_id: int bulk_upload_id: UUID