feat: events_list_event_tickets RPC for organizer ticket roster
Second nostr-transport handler on this branch. Returns paid + registered counts plus the per-ticket roster (id, name, registered status, timestamp) for one calendar event, organizer-only. Backs the door scanner's counts strip and "scanned" list with backend truth so a second organizer scanning on another device, an operator switching from mobile to laptop mid-event, or a refresh in incognito all see the same numbers instead of diverging from a per-device localStorage cache. Same authorisation posture as events_ticket_register: dispatcher binds caller pubkey to wallet via AUTH_WALLET, handler verifies the event's wallet is in the caller's wallet set. Only paid tickets land in the response — proposed/unpaid rows are irrelevant at the door. Webapp consumes this in aiolabs/webapp#73.
This commit is contained in:
parent
1d8dacbaa3
commit
02071e6541
3 changed files with 75 additions and 3 deletions
15
__init__.py
15
__init__.py
|
|
@ -55,12 +55,23 @@ def events_start():
|
|||
register_rpc,
|
||||
)
|
||||
|
||||
from .transport_rpcs import handle_events_ticket_register
|
||||
from .transport_rpcs import (
|
||||
handle_events_list_event_tickets,
|
||||
handle_events_ticket_register,
|
||||
)
|
||||
|
||||
register_rpc(
|
||||
"events_ticket_register", handle_events_ticket_register, AUTH_WALLET
|
||||
)
|
||||
logger.info("[EVENTS] Registered nostr-transport RPC: events_ticket_register")
|
||||
register_rpc(
|
||||
"events_list_event_tickets",
|
||||
handle_events_list_event_tickets,
|
||||
AUTH_WALLET,
|
||||
)
|
||||
logger.info(
|
||||
"[EVENTS] Registered nostr-transport RPCs: "
|
||||
"events_ticket_register, events_list_event_tickets"
|
||||
)
|
||||
except ImportError:
|
||||
logger.info(
|
||||
"[EVENTS] nostr_transport not available on this LNbits — "
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue