handin-website/backend/app/routes/site.py
2026-03-02 20:11:10 +01:00

31 lines
867 B
Python

from pathlib import Path
from typing import Annotated
from fastapi import APIRouter, Depends
from app.auth import require_admin
from app.config import get_settings
from app.models import SiteResponse, SiteUpdateRequest
from app.routes.segments import get_db_path
from app.services import site_service
router = APIRouter(prefix="/api/site", tags=["site"])
Admin = Annotated[None, Depends(require_admin)]
DbPath = Annotated[Path, Depends(get_db_path)]
@router.get("/")
def get_site(db_path: DbPath) -> SiteResponse:
title = site_service.get_site_title(db_path, default=get_settings().site_title)
return SiteResponse(title=title)
@router.put("/")
def update_site(
request: SiteUpdateRequest,
_: Admin,
db_path: DbPath,
) -> SiteResponse:
title = site_service.update_site_title(db_path, request.title)
return SiteResponse(title=title)