tickets fastAPI

This commit is contained in:
Tiago vasconcelos 2021-09-27 21:02:50 +01:00
parent 3a3ef4cd22
commit ca5ee4ed4f
2 changed files with 15 additions and 12 deletions

View file

@ -23,8 +23,7 @@ def lnticket_renderer():
from .views_api import * # noqa from .views_api import * # noqa
from .views import * # noqa from .views import * # noqa
from .tasks import register_listeners
from lnbits.tasks import record_async @lntickets_ext.on_event("startup")
def _do_it():
lnticket_ext.record(record_async(register_listeners)) register_listeners()

View file

@ -4,29 +4,33 @@ from lnbits.core.crud import get_wallet
from lnbits.decorators import check_user_exists, validate_uuids from lnbits.decorators import check_user_exists, validate_uuids
from http import HTTPStatus from http import HTTPStatus
from . import lnticket_ext from . import lnticket_ext, lnticket_renderer
from .crud import get_form from .crud import get_form
from fastapi import FastAPI, Request from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates from fastapi.templating import Jinja2Templates
templates = Jinja2Templates(directory="templates") templates = Jinja2Templates(directory="templates")
@lnticket_ext.route("/") @lnticket_ext.get("/", response_class=HTMLResponse)
@validate_uuids(["usr"], required=True) @validate_uuids(["usr"], required=True)
@check_user_exists() # @check_user_exists()
async def index(request: Request): async def index(request: Request, user: User = Depends(check_user_exists)):
return await templates.TemplateResponse("lnticket/index.html", {"request": request,"user":g.user}) return lnticket_renderer().TemplateResponse("lnticket/index.html", {"request": request,"user": user.dict()})
@lnticket_ext.route("/<form_id>") @lnticket_ext.get("/{form_id}")
async def display(request: Request, form_id): async def display(request: Request, form_id):
form = await get_form(form_id) form = await get_form(form_id)
if not form: 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) wallet = await get_wallet(form.wallet)
return await templates.TemplateResponse( return lnticket_renderer().TemplateResponse(
"lnticket/display.html", "lnticket/display.html",
{"request": request, {"request": request,
"form_id":form.id, "form_id":form.id,