"""Legacy endpoint retained for old clients; only active credit add-ons are returned.""" from fastapi import APIRouter, Depends from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession from app.dependencies import get_current_user, get_db from app.enums.credit_product import CreditProductType from app.models.credit.product import CreditProduct from app.models.user import User from app.services.credit.product_service import product_to_dict router = APIRouter(tags=["recharge-packages"]) @router.get("/recharge-packages") async def list_active_packages( current_user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db), ): result = await db.execute( select(CreditProduct) .where( CreditProduct.product_type == CreditProductType.CREDIT_ADDON.value, CreditProduct.is_active.is_(True), ) .order_by(CreditProduct.sort_order.asc(), CreditProduct.id.asc()) ) items = [] for product in result.scalars().all(): payload = product_to_dict(product, user_price=product.price, price_type="regular", can_purchase=True) payload.update( { "credits": payload["grant_credits"], "bonus_credits": 0.0, "total_credits": payload["grant_credits"], "package_type": "credit_addon", "is_gift": False, } ) items.append(payload) return items