"""
BAN YARO — Wetter-API
GET /api/weather?lat=&lon= → aktuelles Wetter + Zecken-Warnung für Nutzerstandort
"""

from fastapi import APIRouter, Query, HTTPException, Depends
import weather as weather_module
from auth import get_current_user

router = APIRouter()


@router.get('')
async def get_weather(
    lat: float = Query(..., ge=-90,  le=90),
    lon: float = Query(..., ge=-180, le=180),
):
    try:
        return await weather_module.get_weather_for_location(lat, lon)
    except Exception as exc:
        raise HTTPException(503, f'Wetter nicht verfügbar: {exc}')


@router.get('/forecast')
async def get_weather_forecast(
    lat: float = Query(..., ge=-90,  le=90),
    lon: float = Query(..., ge=-180, le=180),
    user=Depends(get_current_user),
):
    try:
        return await weather_module.get_forecast(lat, lon)
    except Exception as exc:
        raise HTTPException(503, f'Wettervorhersage nicht verfügbar: {exc}')
