from sqlalchemy import Boolean, Integer, String, Float from sqlalchemy.orm import Mapped, mapped_column from app.models.base import Base, TimestampMixin class RechargePackage(Base, TimestampMixin): __tablename__ = "recharge_packages" id: Mapped[str] = mapped_column(String(32), primary_key=True) name: Mapped[str] = mapped_column(String(64)) credits: Mapped[float] = mapped_column(Float) price: Mapped[float] = mapped_column(Float) bonus_credits: Mapped[float] = mapped_column(Float, default=0.0) description: Mapped[str | None] = mapped_column(String(256), nullable=True) package_type: Mapped[str] = mapped_column(String(32), default="normal") is_gift: Mapped[bool] = mapped_column(Boolean, default=False) is_active: Mapped[bool] = mapped_column(Boolean, default=True) sort_order: Mapped[int] = mapped_column(Integer, default=0)