feat: republish endpoints + polling + multi-ticket via N-rows model #16

Merged
padreug merged 7 commits from tickets-nostr-sync into main 2026-05-23 21:11:38 +00:00
Showing only changes of commit 36568d3eee - Show all commits

fix: propagate CreateTicket.user_id to the persisted ticket row

api_ticket_create accepted user_id in the CreateTicket request body
(its root_validator even requires user_id XOR name+email), but
dropped it on the way to crud.create_ticket — tickets ended up
with user_id = NULL and the new GET /tickets/user/{id} endpoint
returned an empty list for every webapp buyer.

Pull data.user_id alongside name/email and forward it to
create_ticket. Backfilling existing rows is left to the operator
(deployment-specific data fix); fresh purchases starting from this
commit are correctly attributed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Padreug 2026-05-23 21:10:33 +02:00

View file

@ -513,6 +513,7 @@ async def api_ticket_create(
name = data.name name = data.name
email = data.email email = data.email
user_id = data.user_id
promo_code = data.promo_code.upper() if data.promo_code else None promo_code = data.promo_code.upper() if data.promo_code else None
refund_address = data.refund_address refund_address = data.refund_address
nostr_identifier = data.nostr_identifier.strip() if data.nostr_identifier else None nostr_identifier = data.nostr_identifier.strip() if data.nostr_identifier else None
@ -605,6 +606,7 @@ async def api_ticket_create(
event=event.id, event=event.id,
name=name, name=name,
email=email, email=email,
user_id=user_id,
extra={ extra={
"applied_promo_code": promo_code, "applied_promo_code": promo_code,
"refund_address": refund_address, "refund_address": refund_address,