from sqlalchemy import ForeignKey, SmallInteger, String from sqlalchemy.orm import Mapped, mapped_column, relationship from app.core.database import Base class BossPokemon(Base): __tablename__ = "boss_pokemon" id: Mapped[int] = mapped_column(primary_key=True) boss_battle_id: Mapped[int] = mapped_column( ForeignKey("boss_battles.id", ondelete="CASCADE"), index=True ) pokemon_id: Mapped[int] = mapped_column(ForeignKey("pokemon.id"), index=True) level: Mapped[int] = mapped_column(SmallInteger) order: Mapped[int] = mapped_column(SmallInteger) condition_label: Mapped[str | None] = mapped_column(String(100)) boss_battle: Mapped["BossBattle"] = relationship(back_populates="pokemon") pokemon: Mapped["Pokemon"] = relationship() def __repr__(self) -> str: return f""