from datetime import datetime from sqlalchemy import String, DateTime, Integer, ForeignKey, Boolean from sqlalchemy.orm import Mapped, mapped_column, relationship from app.core.database import Base class Admin2FASession(Base): __tablename__ = "admin_2fa_sessions" id: Mapped[int] = mapped_column(primary_key=True) user_id: Mapped[int] = mapped_column(Integer, ForeignKey("users.id"), nullable=False, index=True) code: Mapped[str] = mapped_column(String(6), nullable=False) telegram_sent: Mapped[bool] = mapped_column(Boolean, default=False) is_verified: Mapped[bool] = mapped_column(Boolean, default=False) expires_at: Mapped[datetime] = mapped_column(DateTime, nullable=False, index=True) created_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.utcnow) # Relationships user: Mapped["User"] = relationship("User", foreign_keys=[user_id])