Files
cf-zeiten/routers/web_routes.py
2026-02-21 11:45:58 +01:00

32 lines
1.1 KiB
Python

from fastapi import APIRouter, Request
from fastapi.responses import HTMLResponse, RedirectResponse
from fastapi.templating import Jinja2Templates
from core.data_processor import get_upcoming_events, get_remarks, invalidate_cache
from pathlib import Path
router = APIRouter()
BASE_DIR = Path(__file__).parent.parent
templates = Jinja2Templates(directory=str(BASE_DIR / "templates"))
# Admin auf Root
@router.get("/", response_class=HTMLResponse)
async def admin_page(request: Request):
from core.config_loader import config
return templates.TemplateResponse("admin.html", {
"request": request, "links": config['links']
})
# Tabelle unter /zeiten
@router.get("/zeiten", response_class=HTMLResponse)
async def times_table(request: Request):
events = get_upcoming_events()
remarks = get_remarks()
return templates.TemplateResponse("index.html", {
"request": request, "events": events, "remarks": remarks
})
@router.get("/cache-clear")
async def clear_cache():
invalidate_cache()
# Relativer Redirect zurück zum Admin-Interface
return RedirectResponse(url="./")