From ca5ee4ed4fb72b186bb31f81d7e31d99501e974d Mon Sep 17 00:00:00 2001 From: Tiago vasconcelos Date: Mon, 27 Sep 2021 21:02:50 +0100 Subject: [PATCH] tickets fastAPI --- lnbits/extensions/lnticket/__init__.py | 7 +++---- lnbits/extensions/lnticket/views.py | 20 ++++++++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lnbits/extensions/lnticket/__init__.py b/lnbits/extensions/lnticket/__init__.py index c3b47fb0..28ef8067 100644 --- a/lnbits/extensions/lnticket/__init__.py +++ b/lnbits/extensions/lnticket/__init__.py @@ -23,8 +23,7 @@ def lnticket_renderer(): from .views_api import * # noqa from .views import * # noqa -from .tasks import register_listeners -from lnbits.tasks import record_async - -lnticket_ext.record(record_async(register_listeners)) +@lntickets_ext.on_event("startup") +def _do_it(): + register_listeners() diff --git a/lnbits/extensions/lnticket/views.py b/lnbits/extensions/lnticket/views.py index 69417be5..dbf3cbbd 100644 --- a/lnbits/extensions/lnticket/views.py +++ b/lnbits/extensions/lnticket/views.py @@ -4,29 +4,33 @@ from lnbits.core.crud import get_wallet from lnbits.decorators import check_user_exists, validate_uuids from http import HTTPStatus -from . import lnticket_ext +from . import lnticket_ext, lnticket_renderer from .crud import get_form from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates templates = Jinja2Templates(directory="templates") -@lnticket_ext.route("/") +@lnticket_ext.get("/", response_class=HTMLResponse) @validate_uuids(["usr"], required=True) -@check_user_exists() -async def index(request: Request): - return await templates.TemplateResponse("lnticket/index.html", {"request": request,"user":g.user}) +# @check_user_exists() +async def index(request: Request, user: User = Depends(check_user_exists)): + return lnticket_renderer().TemplateResponse("lnticket/index.html", {"request": request,"user": user.dict()}) -@lnticket_ext.route("/") +@lnticket_ext.get("/{form_id}") async def display(request: Request, form_id): form = await get_form(form_id) if not form: - abort(HTTPStatus.NOT_FOUND, "LNTicket does not exist.") + raise HTTPException( + status_code=HTTPStatus.NOT_FOUND, + detail="LNTicket does not exist." + ) + # abort(HTTPStatus.NOT_FOUND, "LNTicket does not exist.") wallet = await get_wallet(form.wallet) - return await templates.TemplateResponse( + return lnticket_renderer().TemplateResponse( "lnticket/display.html", {"request": request, "form_id":form.id,