from datetime import datetime, timezone from sqlalchemy import Text, DateTime, func from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy.dialects.postgresql import JSONB from sqlalchemy import JSON from app.models.base import Base class ContentSection(Base): __tablename__ = "content_sections" key: Mapped[str] = mapped_column(Text, primary_key=True) data: Mapped[dict] = mapped_column(JSON().with_variant(JSONB, "postgresql"), nullable=False) updated_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False, )