"""Context Field 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 ContextField(mysql.BaseModel, base_mixin.BaseMixin): """Context Field model.""" __tablename__ = "context_fields" context_id = Column( INTEGER(unsigned=True), ForeignKey("contexts.id"), nullable=False, ) name = Column(VARCHAR(length=280)) value = Column(VARCHAR(length=280)) field_type = Column(VARCHAR(length=280), name="type", nullable=False) def to_dict(self) -> dict[str, Any]: """Get a dict representation of a Context Field.""" data = super(ContextField, self).to_dict() data.update( { "context_id": self.context_id, "name": self.name, "value": self.value, "type": self.field_type, } ) return data