feat: add promo codes and conditional events (#40)
Some checks failed
/ release (push) Has been cancelled
/ pullrequest (push) Has been cancelled

* add extra column
* add conditional events
* refunds
* conditional events working
* adding promo codes
* promo codes logic

---------

Co-authored-by: dni  <office@dnilabs.com>
This commit is contained in:
Tiago Vasconcelos 2025-12-09 10:48:00 +00:00 committed by GitHub
commit 42de6d4791
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 456 additions and 65 deletions

View file

@ -3,13 +3,13 @@ from datetime import datetime, timedelta, timezone
from lnbits.db import Database
from lnbits.helpers import urlsafe_short_hash
from .models import CreateEvent, Event, Ticket
from .models import CreateEvent, Event, Ticket, TicketExtra
db = Database("ext_events")
async def create_ticket(
payment_hash: str, wallet: str, event: str, name: str, email: str
payment_hash: str, wallet: str, event: str, name: str, email: str, extra: dict
) -> Ticket:
now = datetime.now(timezone.utc)
ticket = Ticket(
@ -22,6 +22,7 @@ async def create_ticket(
paid=False,
reg_timestamp=now,
time=now,
extra=TicketExtra(**extra) if extra else TicketExtra(),
)
await db.insert("events.ticket", ticket)
return ticket