feat: support optional start/end time on events
event_start_date / event_end_date now accept either YYYY-MM-DD (date-only) or YYYY-MM-DDTHH:MM (ISO datetime). The NIP-52 publisher switches kind on the "T" delimiter: kind 31922 (date-based, YYYY-MM-DD start/end) when absent, kind 31923 (time-based, unix-timestamp start/end + day-granularity D tags) when present. Delete events match the original publish kind. Closing-date parsing accepts both formats. The LNbits admin form gains optional HH:MM inputs alongside each date picker; they fold into the wire-format string on submit and split back on edit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
80a934be06
commit
4aa90d80ad
5 changed files with 137 additions and 32 deletions
|
|
@ -30,9 +30,11 @@ class CreateEvent(BaseModel):
|
|||
wallet: str | None = None # filled from caller's wallet if absent
|
||||
name: str # title (required)
|
||||
info: str = "" # description (optional)
|
||||
closing_date: str | None = None # defaults to event_end_date
|
||||
event_start_date: str # required
|
||||
event_end_date: str | None = None # defaults to event_start_date
|
||||
closing_date: str | None = None # date-only YYYY-MM-DD; defaults to event_end_date
|
||||
# ISO 8601: date-only ("2026-05-19") or datetime ("2026-05-19T18:30").
|
||||
# Presence of a "T" toggles NIP-52 kind (31922 date / 31923 time).
|
||||
event_start_date: str
|
||||
event_end_date: str | None = None # same format as event_start_date
|
||||
currency: str = "sat"
|
||||
amount_tickets: int = 0 # 0 = unlimited / not ticketed
|
||||
price_per_ticket: float = 0 # 0 = free
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue