from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session

from backend.app.api.deps import get_current_user, get_db
from backend.app.models import UserPublic
from backend.app.services.network import get_network_snapshot

router = APIRouter(prefix="/network", tags=["network"])


@router.get("", summary="Fetch a snapshot of the railway network")
def read_network_snapshot(
    _: UserPublic = Depends(get_current_user),
    db: Session = Depends(get_db),
) -> dict[str, list[dict[str, object]]]:
    return get_network_snapshot(db)
