Skip to content

Data Models

What This Covers

This page maps the core domain types used across routes, server modules, and persistence. Use it when adding features, changing contracts, or reviewing model consistency.

Reference

Core shared interfaces (from apps/event-site/src/lib/types.ts):

DomainKey interfaces
EventEventConfig, ThemeConfig
ScheduleScheduleDay, ScheduleItem, ScheduleItemLocation
RSVP and pricingRsvpConfig, PricingTier, CustomField, AddOn
AccessGroup, GroupMember, DocumentPermission, ScheduleItemPermission
Content and documentsContentSection, Document

Persistence model families (from DB schema):

  • attendees and approvals
  • RSVPs and payments
  • schedule and announcements
  • photos and documents
  • polls and voting

Examples

Model change workflow:

  1. Update shared types in apps/event-site/src/lib/types.ts.
  2. Update schema in apps/event-site/src/lib/server/db/schema.ts if persistence changes.
  3. Generate and apply migration.
bash
npm run db:generate
npm run db:migrate:local

Released under the MIT License.