ghostguild-org/server
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
..
api fix(events): read allowIndividualEventTickets from series.tickets 2026-04-20 19:25:24 +01:00
config feat(contributions): rewrite server config as preset-based helpers 2026-04-19 18:12:44 +01:00
emails feat(payments): add upsertPaymentFromHelcim helper with idempotent insert 2026-04-20 13:15:38 +01:00
middleware fix: use private helcimApiToken for all server-side Helcim API calls 2026-04-04 13:37:34 +01:00
migrations refactor(community): rename Community Connections → Community Ecology 2026-04-09 09:07:15 +01:00
models feat(members): add taxReceiptPreferences schema field (Phase 1 forward-compat) 2026-04-20 13:22:19 +01:00
plugins Member/Ecology revamp. 2026-04-14 09:25:09 +01:00
routes feat(emails): warmer copy across invite, welcome, and event emails 2026-04-20 13:48:38 +01:00
utils fix(events): enforce series-pass, hidden, and deadline gates 2026-04-20 19:03:34 +01:00