"""Base mixin.""" from typing import Any from sqlalchemy import Column, func from sqlalchemy.dialects.mysql import DATETIME, INTEGER from video import config class BaseMixin(object): """Base Mixin.""" primary_key = Column( INTEGER(unsigned=True), name="id", nullable=False, primary_key=True, autoincrement=True, ) datetime = Column(DATETIME, server_default=func.now()) def to_dict(self) -> dict[str, Any]: """Get a dict representation of a BaseMixin.""" return { "id": self.primary_key, "datetime": self.datetime.strftime(config.RFC3339_DATETIME_FORMAT), }