""" SQLModel table definitions. Generated by modelgen from core/schema/models/. Do not edit directly. """ from __future__ import annotations from datetime import datetime from typing import Any, Dict, List, Optional from uuid import UUID, uuid4 from sqlalchemy import JSON from sqlmodel import Column, Field, SQLModel class MediaAsset(SQLModel, table=True): __tablename__ = "media_asset" id: UUID = Field(default_factory=uuid4, primary_key=True) filename: str path: str status: str = "pending" size_bytes: int = 0 duration_seconds: float = 0.0 width: Optional[int] = None height: Optional[int] = None fps: Optional[float] = None codec: Optional[str] = None created_at: Optional[datetime] = Field(default_factory=datetime.utcnow) class Job(SQLModel, table=True): __tablename__ = "job" id: UUID = Field(default_factory=uuid4, primary_key=True) source_asset_id: UUID = Field(index=True) video_path: str profile_name: str = "soccer_broadcast" parent_id: Optional[UUID] = Field(default=None, index=True) run_type: str = "initial" config_overrides: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON, nullable=False, server_default='{}')) status: str = "pending" current_stage: Optional[str] = None progress: float = 0.0 error_message: Optional[str] = None total_detections: int = 0 brands_found: int = 0 cloud_llm_calls: int = 0 estimated_cost_usd: float = 0.0 priority: int = 0 created_at: Optional[datetime] = Field(default_factory=datetime.utcnow) started_at: Optional[datetime] = None completed_at: Optional[datetime] = None class Timeline(SQLModel, table=True): __tablename__ = "timeline" id: UUID = Field(default_factory=uuid4, primary_key=True) source_asset_id: Optional[UUID] = Field(default=None, index=True) source_video: str = "" profile_name: str = "" fps: float = 2.0 frames_prefix: str = "" frames_manifest: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON, nullable=False, server_default='{}')) frames_meta: List[str] = Field(default_factory=list, sa_column=Column(JSON, nullable=False, server_default='[]')) created_at: Optional[datetime] = Field(default_factory=datetime.utcnow) class Checkpoint(SQLModel, table=True): __tablename__ = "checkpoint" id: UUID = Field(default_factory=uuid4, primary_key=True) timeline_id: UUID = Field(index=True) parent_id: Optional[UUID] = Field(default=None, index=True) stage_outputs: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON, nullable=False, server_default='{}')) config_overrides: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON, nullable=False, server_default='{}')) stats: Dict[str, Any] = Field(default_factory=dict, sa_column=Column(JSON, nullable=False, server_default='{}')) is_scenario: bool = False scenario_label: str = "" created_at: Optional[datetime] = Field(default_factory=datetime.utcnow) class Brand(SQLModel, table=True): __tablename__ = "brand" id: UUID = Field(default_factory=uuid4, primary_key=True) canonical_name: str = Field(index=True) aliases: List[str] = Field(default_factory=list, sa_column=Column(JSON, nullable=False, server_default='[]')) source: str = "ocr" confirmed: bool = False airings: List[str] = Field(default_factory=list, sa_column=Column(JSON, nullable=False, server_default='[]')) total_airings: int = 0 created_at: Optional[datetime] = Field(default_factory=datetime.utcnow) updated_at: Optional[datetime] = Field(default_factory=datetime.utcnow)