Module: app.main¶
FastAPI composition root for the TRAQ server.
This module now focuses on application assembly: - define the lightweight runtime dataclasses still shared across routers - construct shared runtime dependencies - wire routers and service collaborators together - attach startup and shutdown hooks
Core job, review, media, and finalization behavior lives in dedicated router and service modules under app/api/ and app/services/.
- class app.main.JobRecord(job_id: 'str', job_number: 'str', status: 'str', customer_name: 'str | None' = None, project_id: 'str | None' = None, project: 'str | None' = None, project_slug: 'str | None' = None, tree_number: 'int | None' = None, address: 'str | None' = None, tree_species: 'str | None' = None, reason: 'str | None' = None, job_name: 'str | None' = None, job_address: 'str | None' = None, job_phone: 'str | None' = None, contact_preference: 'str | None' = None, billing_name: 'str | None' = None, billing_address: 'str | None' = None, billing_contact_name: 'str | None' = None, location_notes: 'str | None' = None, latest_round_id: 'str | None' = None, latest_round_status: 'str | None' = None, rounds: "dict[str, 'RoundRecord']" = <factory>)[source]¶
Bases:
object- Parameters:
job_id (str)
job_number (str)
status (str)
customer_name (str | None)
project_id (str | None)
project (str | None)
project_slug (str | None)
tree_number (int | None)
address (str | None)
tree_species (str | None)
reason (str | None)
job_name (str | None)
job_address (str | None)
job_phone (str | None)
contact_preference (str | None)
billing_name (str | None)
billing_address (str | None)
billing_contact_name (str | None)
location_notes (str | None)
latest_round_id (str | None)
latest_round_status (str | None)
rounds (dict[str, RoundRecord])
- address: str | None = None¶
- billing_address: str | None = None¶
- billing_contact_name: str | None = None¶
- billing_name: str | None = None¶
- contact_preference: str | None = None¶
- customer_name: str | None = None¶
- job_address: str | None = None¶
- job_id: str¶
- job_name: str | None = None¶
- job_number: str¶
- job_phone: str | None = None¶
- latest_round_id: str | None = None¶
- latest_round_status: str | None = None¶
- location_notes: str | None = None¶
- project: str | None = None¶
- project_id: str | None = None¶
- project_slug: str | None = None¶
- reason: str | None = None¶
- rounds: dict[str, RoundRecord]¶
- status: str¶
- tree_number: int | None = None¶
- tree_species: str | None = None¶
- class app.main.RoundRecord(round_id: 'str', status: 'str', manifest: 'list[dict[str, Any]]' = <factory>, server_revision_id: 'str | None' = None, client_revision_id: 'str | None' = None)[source]¶
Bases:
object- Parameters:
round_id (str)
status (str)
manifest (list[dict[str, Any]])
server_revision_id (str | None)
client_revision_id (str | None)
- client_revision_id: str | None = None¶
- manifest: list[dict[str, Any]]¶
- round_id: str¶
- server_revision_id: str | None = None¶
- status: str¶