htmx-patterns/htmx_patterns/boosted/router.py
Waylon S. Walker e181f57a91 wip
2024-12-11 09:17:38 -06:00

55 lines
1.3 KiB
Python

from typing import Annotated
from fastapi import APIRouter, Depends, Header
from fastapi.requests import Request
from sqlmodel import Session
from htmx_patterns.config import get_config, get_session
from htmx_patterns.models import Person
boosted_router = APIRouter(prefix="/boosted", tags=["Boosted"])
config = get_config()
@boosted_router.get("/")
@boosted_router.get("")
async def boosted(
request: Request,
id: int = 1,
session: Session = Depends(get_session),
user_agent: Annotated[str | None, Header()] = None,
):
# person = PersonFactory.build()
person = Person.get_by_id(session, id)
if person is None:
return config.templates.TemplateResponse(
"boosted/person.html",
{
"request": request,
"person": None,
"person_id": id,
"prev_id": None,
"next_id": 1,
},
)
if id > 1:
prev_id = id - 1
next_id = id + 1
else:
prev_id = None
next_id = id + 1
return config.templates.TemplateResponse(
"boosted/person.html",
{
"request": request,
"person": person,
"person_id": id,
"prev_id": prev_id,
"next_id": next_id,
},
)