from fastapi import APIRouter, Depends, HTTPException from sqlmodel import Session from app.auth import get_current_user from app.db import get_session from app.models.models import ExchangeRateRead from app.services.exchange_rate import get_current_rate, get_rate_history router = APIRouter(prefix="/exchange-rate", tags=["exchange-rate"]) @router.get("/", response_model=ExchangeRateRead) def current_rate( session: Session = Depends(get_session), _user: str = Depends(get_current_user), ): rate = get_current_rate(session) if not rate: raise HTTPException(status_code=503, detail="Exchange rate unavailable") return rate @router.get("/history", response_model=list[ExchangeRateRead]) def rate_history( days: int = 30, session: Session = Depends(get_session), _user: str = Depends(get_current_user), ): return get_rate_history(session, days)