diff --git a/lnbits/extensions/lnticket/crud.py b/lnbits/extensions/lnticket/crud.py index 327fb90e5..e391abb58 100644 --- a/lnbits/extensions/lnticket/crud.py +++ b/lnbits/extensions/lnticket/crud.py @@ -4,25 +4,21 @@ from typing import List, Optional, Union from lnbits.helpers import urlsafe_short_hash from . import db -from .models import CreateFormData, Tickets, Forms +from .models import CreateFormData, CreateTicketData, Tickets, Forms import httpx async def create_ticket( payment_hash: str, wallet: str, - form: str, - name: str, - email: str, - ltext: str, - sats: int, + data: CreateTicketData ) -> Tickets: await db.execute( """ INSERT INTO lnticket.ticket (id, form, email, ltext, name, wallet, sats, paid) VALUES (?, ?, ?, ?, ?, ?, ?, ?) """, - (payment_hash, form, email, ltext, name, wallet, sats, False), + (payment_hash, data.form, data.email, data.ltext, data.name, wallet, data.sats, False), ) ticket = await get_ticket(payment_hash) diff --git a/lnbits/extensions/lnticket/views_api.py b/lnbits/extensions/lnticket/views_api.py index 8ead81a31..1474518b6 100644 --- a/lnbits/extensions/lnticket/views_api.py +++ b/lnbits/extensions/lnticket/views_api.py @@ -136,13 +136,12 @@ async def api_ticket_make_ticket(data: CreateTicketData, form_id): ) # return {"message": "LNTicket does not exist."}, HTTPStatus.NOT_FOUND - nwords = len(re.split(r"\s+", data["ltext"])) - sats = data["sats"] + nwords = len(re.split(r"\s+", data.ltext)) try: payment_hash, payment_request = await create_invoice( wallet_id=form.wallet, - amount=sats, + amount=data.sats, memo=f"ticket with {nwords} words on {form_id}", extra={"tag": "lnticket"}, ) @@ -154,7 +153,7 @@ async def api_ticket_make_ticket(data: CreateTicketData, form_id): # return {"message": str(e)}, HTTPStatus.INTERNAL_SERVER_ERROR ticket = await create_ticket( - payment_hash=payment_hash, wallet=form.wallet, **data + payment_hash=payment_hash, wallet=form.wallet, data=data ) if not ticket: