from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy import ForeignKey from database import Base class MPUpdate(Base): __tablename__ = "MP_UPDATE" id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True) version: Mapped[str] = mapped_column(nullable=False) program_id: Mapped[int] = mapped_column(ForeignKey("MP_PROGRAM.id", ondelete="CASCADE")) description: Mapped[str | None] = mapped_column(nullable=True) download_link_android: Mapped[str | None] = mapped_column(nullable=True) download_link_ios: Mapped[str | None] = mapped_column(nullable=True) program: Mapped['MPProgram'] = relationship() class MPProgram(Base): __tablename__ = "MP_PROGRAM" id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True) name: Mapped[str] class MPUser(Base): __tablename__ = "MP_USER" id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True) username: Mapped[str] = mapped_column(nullable=False) email: Mapped[str] = mapped_column(nullable=False) password: Mapped[str] = mapped_column(nullable=False) is_active: Mapped[bool] = mapped_column(nullable=False)