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
app.main.create_app()[source]

Construct and configure the FastAPI app instance.

Returns:

Configured FastAPI application with all routes, helper closures, logging setup, and startup hook registered.

Return type:

FastAPI