Files

34 lines
1.0 KiB
Python

"""Public tariff API routes for VoIdea."""
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.dependencies import get_db
from app.schemas.tariff import TariffPlanResponse
from app.services.tariff_service import TariffService
router = APIRouter()
@router.get("", response_model=list[TariffPlanResponse])
async def list_tariffs(db: AsyncSession = Depends(get_db)):
"""Return all active tariff plans (public, no auth required)."""
service = TariffService(db)
plans = await service.list_plans(active_only=True)
return [
TariffPlanResponse(
id=str(p.id),
name=p.name,
code=p.code,
description=p.description,
price_monthly=p.price_monthly,
price_yearly=p.price_yearly,
features=p.features,
is_active=p.is_active,
sort_order=p.sort_order,
created_at=p.created_at,
updated_at=p.updated_at,
)
for p in plans
]