"""Job status model.""" from typing import Any from sqlalchemy import Column, ForeignKey from sqlalchemy.dialects.mysql import INTEGER, VARCHAR from video.connectors import mysql from video.models.sql.classes import base_mixin class JobStatus(mysql.BaseModel, base_mixin.BaseMixin): """Job status model.""" __tablename__ = "job_statuses" job_id = Column( INTEGER(unsigned=True), ForeignKey("jobs.id"), nullable=False, ) status = Column(VARCHAR(length=280)) context_id = Column( INTEGER(unsigned=True), ForeignKey("contexts.id"), nullable=False, ) def to_dict(self) -> dict[str, Any]: """Get a dict representation of a JobStatus.""" data = super(JobStatus, self).to_dict() data.update( { "job_id": self.job_id, "status": self.status, "context_id": self.context_id, } ) return data