ghostguild-org/server/api/events/[id]
Jennie Robinson Faber 4e1888ae8e
Some checks failed
Test / Notify on failure (push) Blocked by required conditions
Test / visual (push) Blocked by required conditions
Test / vitest (push) Successful in 10m59s
Test / playwright (push) Has been cancelled
fix(events): read allowIndividualEventTickets from series.tickets
The series-pass gate in register.post.js was checking
`series.allowIndividualEventTickets` at the top level, but the field
lives under `series.tickets.allowIndividualEventTickets` per the
Series schema. Top-level access was always undefined, so `!undefined`
always fired the pass check — blocking drop-in registration even when
an admin enabled `(requiresSeriesTicket=true, allowIndividualEventTickets=true)`.

The bug failed closed (overprotective), so no bypass was possible.
The existing test mirrored the bug by mocking the field at the top
level; updated the three mocks to nest it under `tickets` so the test
shape matches the real schema.
2026-04-20 19:25:24 +01:00
..
tickets fix(events): enforce series-pass, hidden, and deadline gates 2026-04-20 19:03:34 +01:00
calendar.get.js Many an update! 2025-12-01 15:26:42 +00:00
cancel-registration.post.js Tests, UX improvements. 2026-04-05 14:25:29 +01:00
check-registration.post.js Add Zod validation to all API endpoints and remove debug test route 2026-03-01 17:04:26 +00:00
check-series-access.get.js Add landing page 2025-11-03 11:17:51 +00:00
payment.post.js feat(server): rename contributionTier → contributionAmount in routes + utils 2026-04-19 18:44:29 +01:00
register.post.js fix(events): read allowIndividualEventTickets from series.tickets 2026-04-20 19:25:24 +01:00
waitlist.delete.js Add Zod validation to all API endpoints and remove debug test route 2026-03-01 17:04:26 +00:00
waitlist.post.js feat(server): rename contributionTier → contributionAmount in routes + utils 2026-04-19 18:44:29 +01:00