@go-labs-sg/rsvp 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/dist/index.js +3 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -85,6 +85,30 @@ The installed command uses the same portable Bun launcher as the other Go Labs C
|
|
|
85
85
|
|
|
86
86
|
Global administrators can update another account's global role from the web user manager or with `rsvp user role update --allow-state-change --target <user-id> --payload '{"userId":"<user-id>","role":"admin"}'`. Administrators cannot remove their own global admin role.
|
|
87
87
|
|
|
88
|
+
## Participant waitlist offers
|
|
89
|
+
|
|
90
|
+
```sh
|
|
91
|
+
rsvp waitlist mine --ack-sensitive-data --payload '{"eventSlug":"event-slug","formSlug":"form-slug"}'
|
|
92
|
+
rsvp waitlist offer respond --allow-state-change --target 11111111-1111-4111-8111-111111111111 --payload '{"eventSlug":"event-slug","formSlug":"form-slug","action":"DECLINE","expectedRegistrationVersion":3,"idempotencyKey":"11111111-1111-4111-8111-111111111111"}'
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
`formSlug` is optional. Both commands forward typed JSON to the shared participant
|
|
96
|
+
tRPC handlers; there is no CLI-specific selection or cancellation logic. `mine`
|
|
97
|
+
returns the unique active registration, or `registration: null` when only history
|
|
98
|
+
remains, with the existing time-zone field. `offer respond` accepts `ACCEPT` or
|
|
99
|
+
`DECLINE` and retains its payment/registration ID/version/status JSON output.
|
|
100
|
+
Obtain the expected version from `mine` and generate a fresh UUID for a new action;
|
|
101
|
+
reuse the exact same payload/key only when retrying that action. Keep the existing
|
|
102
|
+
sensitive-data acknowledgement and state-change/target guards.
|
|
103
|
+
|
|
104
|
+
Decline closes the live offer and releases active ownership, credentials and
|
|
105
|
+
remaining reservations atomically, while preserving response/audit history. An
|
|
106
|
+
identical retry remains a read-only receipt replay even after cancellation or a
|
|
107
|
+
fresh registration; changed payloads using the same key conflict. Historical rows
|
|
108
|
+
are never used as a current offer. Registration-again recovery still requires the
|
|
109
|
+
existing organizer archive/unarchive policy, not automatic readmission or restore.
|
|
110
|
+
No command, payload schema, effect guard, provider action or data repair is added.
|
|
111
|
+
|
|
88
112
|
## Personal seating drafts
|
|
89
113
|
|
|
90
114
|
`event seating draft get`, `save`, `preview`, and `publish` use the same server-owned
|
|
@@ -1109,6 +1133,24 @@ Confirmation and seat-change emails send from the server default
|
|
|
1109
1133
|
`rsvp event email sender-domains`. Invalid local parts, a missing half of the
|
|
1110
1134
|
pair or an unverified domain are rejected.
|
|
1111
1135
|
|
|
1136
|
+
### Pending check-in details
|
|
1137
|
+
|
|
1138
|
+
While the check-in QR release is pending (scheduled or hidden), confirmation
|
|
1139
|
+
and resent confirmation emails show a "Check-in details" section with the
|
|
1140
|
+
release message and each attendee's name and type. Set
|
|
1141
|
+
`"showPendingCheckInDetails": false` in `registrationEmail` to omit that section
|
|
1142
|
+
when the event's own email copy already explains when QR codes arrive. Omitting
|
|
1143
|
+
the key, or setting `true`, keeps the section. After release the email shows
|
|
1144
|
+
check-in details, reference codes and attached QR codes as usual, whatever the
|
|
1145
|
+
setting. Seat-change emails have no check-in section and are unaffected.
|
|
1146
|
+
|
|
1147
|
+
```sh
|
|
1148
|
+
rsvp event setup step update \
|
|
1149
|
+
--allow-state-change \
|
|
1150
|
+
--target evt_123 \
|
|
1151
|
+
--payload '{"organizationId":"org_123","eventId":"evt_123","version":7,"section":"REGISTRATION_RULES","registrationEmail":{"layout":"GROUPED","showPendingCheckInDetails":false}}'
|
|
1152
|
+
```
|
|
1153
|
+
|
|
1112
1154
|
`registrationEmail` replaces the whole presentation object, so read the current
|
|
1113
1155
|
event first and resend every key you want to keep. Reply-to and support email
|
|
1114
1156
|
are unchanged. If a saved domain is later unverified in Resend, those emails
|
package/dist/index.js
CHANGED
|
@@ -10130,7 +10130,8 @@ var registrationEmailPresentationSchema = strictObject({
|
|
|
10130
10130
|
seatingDisclaimer: string2().trim().min(1).max(2000).optional(),
|
|
10131
10131
|
useResubmissionFooter: boolean2().default(false),
|
|
10132
10132
|
supportEmail: email2().optional(),
|
|
10133
|
-
showLuckyDrawId: boolean2().optional()
|
|
10133
|
+
showLuckyDrawId: boolean2().optional(),
|
|
10134
|
+
showPendingCheckInDetails: boolean2().optional()
|
|
10134
10135
|
}).superRefine((value, ctx) => {
|
|
10135
10136
|
if (Boolean(value.senderLocalPart) !== Boolean(value.senderDomain))
|
|
10136
10137
|
ctx.addIssue({
|
|
@@ -12567,7 +12568,7 @@ Object.assign(commands, {
|
|
|
12567
12568
|
"event mine list": payloadCommand((api, input) => api.event.listMyEvents.query(input), "List the caller's events (--payload JSON)."),
|
|
12568
12569
|
"event reminder list": payloadCommand((api, input) => api.event.listReminderSegments.query(input), "List reminder segments (--payload JSON).", ["sensitive-data"]),
|
|
12569
12570
|
"event rsvp submit": payloadCommand((api, input) => api.event.submitRsvp.mutate(input), "Submit the caller's registration (--payload JSON).", ["sensitive-data", "state-change"]),
|
|
12570
|
-
"event setup step update": payloadCommand((api, input) => api.event.updateSetupStep.mutate(input), "Update one revision-checked event setup step (--payload JSON). REGISTRATION_RULES accepts registrationEmail presentation (including senderName
|
|
12571
|
+
"event setup step update": payloadCommand((api, input) => api.event.updateSetupStep.mutate(input), "Update one revision-checked event setup step (--payload JSON). REGISTRATION_RULES accepts registrationEmail presentation (including senderName, a senderLocalPart+senderDomain address on a verified Resend sending domain, and showPendingCheckInDetails: false to omit the confirmation email's Check-in details section until the check-in QR release; released QR emails are unaffected), registrationMasterList output-key ordering/omissions and includeAttendanceSheets, and seatChangeNotification automatic/includeTablemates/includeFloorPlanImage policy (tablemate names default off; floor-plan image defaults on); omitted settings are preserved.", ["state-change"]),
|
|
12571
12572
|
"event page update": payloadCommand((api, input) => api.event.updateSetupStep.mutate({
|
|
12572
12573
|
...input,
|
|
12573
12574
|
section: "DETAILS_PAGE"
|