from fastapi import APIRouter, HTTPException
from sqlalchemy import select

from app.api.deps import DbSession
from app.models import StaticContent
from app.schemas import StaticContentResponse

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


@router.get("/{key}", response_model=StaticContentResponse)
async def get_public_content(key: str, db: DbSession):
    """Get public static content by key. No authentication required."""
    result = await db.execute(
        select(StaticContent).where(StaticContent.key == key)
    )
    content = result.scalar_one_or_none()
    if not content:
        raise HTTPException(status_code=404, detail="Content not found")
    return content
