advent22/api/advent22_api/routers/abspacken.py
2023-09-04 20:02:43 +00:00

57 lines
1.3 KiB
Python

import asyncio
from fastapi import APIRouter, Depends, HTTPException, status
from .user import require_admin
router = APIRouter(prefix="/abspacken", tags=["abspacken"])
async def get_kurix(kgs: float) -> float:
# die berechnung ist sehr aufwändig, braucht lange!
await asyncio.sleep(2)
return kgs / 1.13
@router.post("/uwe")
async def uwe(
kgs: float = 10,
firma: str = "Vodafone",
_: None = Depends(require_admin),
) -> str:
kurix = await get_kurix(kgs)
return (
f"UWE hat bei {firma} einen beachtlichen Haufen von "
f"{kgs} Kg ({kurix:.3f} Kurix) auf den Läufer geschissen."
)
@router.get("/torsten/{ding}")
async def torsten(ding: str) -> str:
return f"Der Alphakevin Torsten hat ein langes {ding}."
@router.get(
"/kys",
responses={
status.HTTP_200_OK: {
"description": "Einfach NEIN",
"content": None,
},
status.HTTP_418_IM_A_TEAPOT: {
"description": "Commit Sudoku",
"content": None,
},
},
)
async def kys() -> None:
"""
Heiße Botschaften aus der Nachbarschaft warten auf Sie.
Also: <br />
Sinnlose Todesdrohungen und Synapsenfasching.
"""
raise HTTPException(status.HTTP_418_IM_A_TEAPOT, "Go kill yourself")