from datetime import datetime from typing import Optional from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import Integer, String, DateTime, ForeignKey, func from shared.db.base import Base class MenuItem(Base): """Deprecated — kept so the table isn't dropped. Use glue.models.MenuNode.""" __tablename__ = "menu_items" id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True) post_id: Mapped[int] = mapped_column( Integer, ForeignKey("posts.id", ondelete="CASCADE"), nullable=False, index=True ) sort_order: Mapped[int] = mapped_column(Integer, nullable=False, default=0, index=True) created_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), server_default=func.now(), nullable=False ) updated_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False ) deleted_at: Mapped[Optional[datetime]] = mapped_column( DateTime(timezone=True), nullable=True )