Initial
This commit is contained in:
32
routers/web_routes.py
Normal file
32
routers/web_routes.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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="./")
|
||||
Reference in New Issue
Block a user