fix: create and pay a ticket code

This commit is contained in:
Stefan Stammberger 2021-09-29 20:57:35 +02:00
parent 534dfdb4e0
commit 87c784aa0c
No known key found for this signature in database
GPG Key ID: 645FA807E935D9D5
2 changed files with 6 additions and 11 deletions

View File

@ -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)

View File

@ -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: