Skip to content

apps/api/src/features/events/events.service.ts ​

Auto-generated by scripts/generate-file-docs.ts. Do not edit — overwritten on every run.

Purpose ​

EventsService — events catalog, RSVP tracking, and per-user iCalendar subscription feed. Visibility rules (docs/internal/design/api-contracts.md — Events & Calendar): - visitor → COMMUNITY events only - member → COMMUNITY + MINISTRY + SMALL_GROUP (only groups they belong to) - group_leader, ministry_leader, admin → all event types - comms_author → treated as a member for read; cannot create/update/ delete events Create / update / delete authorization: - LEADERSHIP / SISTER_COMMUNITY → ministry_leader+ only - MINISTRY → ministry_leader+ only - SMALL_GROUP → group_leader (only for their own group) or ministry_leader+ - COMMUNITY → ministry_leader+ only RSVP capacity: ATTENDING upserts that would exceed maxAttendees throw 409. The iCal feed (RFC 5545) returns all upcoming ATTENDING events for the caller as a single VCALENDAR document. /

Exports ​

  • export interface ListEventsParams
  • export interface ListEventsResult
  • export interface EventDetail
  • export class EventsService
  • export const eventsService

Imports ​

  • ../../adapters/db
  • ../../lib/errors
  • ../../lib/logger
  • ../../lib/pagination
  • ../../middleware/requireAuth
  • @prisma/client

Imported by ​

Heritage Community Hub — Internal. Access restricted via Cloudflare Access + Entra ID.