from fastapi import APIRouter, Depends, HTTPException from app.api.deps import get_tariff_repo from app.repositories.tariff import TariffRepository from app.schemas.tariff import TariffRead router = APIRouter(prefix="/tariffs", tags=["Tariffs"]) @router.get("", response_model=list[TariffRead]) async def list_tariffs( tariff_repo: TariffRepository = Depends(get_tariff_repo), ): return await tariff_repo.get_active_tariffs() @router.get("/all", response_model=list[TariffRead]) async def list_all_tariffs( tariff_repo: TariffRepository = Depends(get_tariff_repo), ): return await tariff_repo.get_all() @router.get("/{tariff_id}", response_model=TariffRead) async def get_tariff( tariff_id: int, tariff_repo: TariffRepository = Depends(get_tariff_repo), ): tariff = await tariff_repo.get(tariff_id) if tariff is None: raise HTTPException(status_code=404, detail="Tariff not found") return tariff