lnbits-legend/lnbits/extensions/gerty/views.py

37 lines
1.2 KiB
Python
Raw Normal View History

2022-09-23 14:38:55 +01:00
from http import HTTPStatus
from fastapi import Request
from fastapi.params import Depends
from fastapi.templating import Jinja2Templates
from starlette.exceptions import HTTPException
from starlette.responses import HTMLResponse
from lnbits.core.models import User
from lnbits.decorators import check_user_exists
from lnbits.settings import LNBITS_CUSTOM_LOGO, LNBITS_SITE_TITLE
from . import gerty_ext, gerty_renderer
from .crud import get_gerty
2022-09-26 16:16:41 +01:00
from .views_api import api_gerty_json
import json
2022-09-23 14:38:55 +01:00
2022-09-26 21:13:40 +01:00
from loguru import logger
2022-09-23 14:38:55 +01:00
templates = Jinja2Templates(directory="templates")
@gerty_ext.get("/", response_class=HTMLResponse)
async def index(request: Request, user: User = Depends(check_user_exists)):
return gerty_renderer().TemplateResponse(
"gerty/index.html", {"request": request, "user": user.dict()}
)
2022-09-26 10:30:48 +01:00
@gerty_ext.get("/{gerty_id}", response_class=HTMLResponse)
async def display(request: Request, gerty_id):
gerty = await get_gerty(gerty_id)
if not gerty:
raise HTTPException(
status_code=HTTPStatus.NOT_FOUND, detail="Gerty does not exist."
)
2022-09-26 16:16:41 +01:00
gertyData = await api_gerty_json(gerty_id)
return gerty_renderer().TemplateResponse("gerty/gerty.html", {"request": request, "gerty": gertyData})