from sqlalchemy import String, Boolean, Integer from sqlalchemy.orm import Mapped, mapped_column from db.base import Base class User(Base): username: Mapped[str] = mapped_column( String(50), unique=True, index=True, nullable=False, ) secret_hash: Mapped[str] = mapped_column( String(255), nullable=False, ) is_admin: Mapped[bool] = mapped_column( Boolean, default=False, index=True, nullable=False, ) phone_number: Mapped[str | None] = mapped_column( String(11), unique=True, index=True, nullable=True, ) token_version: Mapped[int] = mapped_column( Integer, default=1, nullable=False, ) is_active: Mapped[bool] = mapped_column( Boolean, default=True, index=True, nullable=False, )