from sqlalchemy import String from sqlalchemy.dialects.sqlite import JSON from sqlalchemy.orm import Mapped, mapped_column from core_db import AuditMixin, Base, TenantMixin, VersionMixin class RunRequest(TenantMixin, AuditMixin, VersionMixin, Base): __tablename__ = "run_request" session_id: Mapped[str] = mapped_column(String(36), index=True) app_version_id: Mapped[str] = mapped_column(String(36)) workflow_version_id: Mapped[str] = mapped_column(String(36)) trigger_type: Mapped[str] = mapped_column(String(32)) request_payload_json: Mapped[dict | None] = mapped_column(JSON, nullable=True) request_status: Mapped[str] = mapped_column(String(32), default="accepted")