31 lines
901 B
Python
31 lines
901 B
Python
from fastapi import APIRouter, Request
|
|
from sqlalchemy import select
|
|
|
|
from allmende_payment_system.api import SessionDep
|
|
from allmende_payment_system.models import Area
|
|
from allmende_payment_system.tools import get_jinja_renderer
|
|
|
|
shop_router = APIRouter()
|
|
|
|
templates = get_jinja_renderer()
|
|
|
|
|
|
@shop_router.get("/shop")
|
|
async def get_shop(request: Request, session: SessionDep):
|
|
query = select(Area)
|
|
areas = session.scalars(query).all()
|
|
return templates.TemplateResponse(
|
|
"shop.html.jinja",
|
|
context={"request": request, "areas": areas},
|
|
)
|
|
|
|
|
|
@shop_router.get("/shop/area/{area_id}")
|
|
async def get_shop(request: Request, session: SessionDep, area_id: int):
|
|
query = select(Area).where(Area.id == area_id)
|
|
area = session.scalars(query).one()
|
|
return templates.TemplateResponse(
|
|
"area.html.jinja",
|
|
context={"request": request, "area": area},
|
|
)
|