Files
base/examples
zeekay f3173a023c feat(calendar): reshape scheduling plugin into the Cal.com API-v2 contract
Rename plugins/scheduling -> plugins/calendar and mount under /v1/calendar,
serving the Cal <Booker> atom's endpoint subset — public event, available
slots, advisory slot holds, booking create/read/reschedule/cancel and an
anonymous /me — so cal.hanzo.ai renders Cal's real Booker straight against
native Base.

The reviewed core is preserved verbatim: computeSlots, the isOpenSlot
availability gate, the transactional double-book guard + partial unique index,
and the per-IP/per-host rate limiter (slots_test + redverify_test still pass).

Security decisions live in cal.go: event types resolve by (owner, slug) so the
client-supplied numeric eventTypeId is never trusted for data access; the
public event and /me expose no host email and no raw meeting location (only
revealed to the booking uid holder post-booking); reserve/delete are advisory
holds that never gate the write path.
2026-07-22 13:31:38 -07:00
..