from fastapi import APIRouter, HTTPException

from app.db import fetch_view
from app.schemas.content import CareService

router = APIRouter(prefix="/api", tags=["care-services"])
VIEW = "vw_care_services_public"


@router.get("/care-services", response_model=list[CareService])
def list_care_services() -> list[dict]:
    return fetch_view(VIEW)


@router.get("/care-services/{slug}", response_model=CareService)
def get_care_service(slug: str) -> dict:
    rows = fetch_view(VIEW, "slug = :slug", {"slug": slug})
    if not rows:
        raise HTTPException(status_code=404, detail="Care service not found")
    return rows[0]
