Skip to content
Festivals & ticketing

festival_submissions

Festival submissions from the /organizers/create wizard. There is no live self-serve publish yet — the wizard captures the full draft here for the team to review and onboard, instead of pretending to go live. The whole draft is stored as a JSON payload so the schema doesn't have to track every wizard field.

Columns

ColumnTypeNullDefaultKeys
iduuid nogen_random_uuid()
PK
slugtext yes—
nametext yes—
submitted_by_iduuid yes—
submitted_by_emailtext yes—
payloadjson no—
statustext
pendingreviewingonboardeddeclined
no"pending"
created_attimestamp yesnow()

Value lists come from .$type<'a' | 'b'>() in the schema — enforced in TypeScript only, not by the database.

Keys, constraints & indexes

Unique

None besides the primary key.

Indexes

No secondary indexes.

Foreign keys

  • submitted_by_id → dancers.id
    on delete no action

Used by

Code that reads or writes this table, found by static analysis of the tRPC routers and API handlers (including helpers they call).

Relations

Rendering diagram…

Diagram source
erDiagram
  dancers {
    uuid id PK
    text email UK
    text neon_auth_id UK
    text username UK
  }
  festival_submissions {
    uuid id PK
    uuid submitted_by_id FK
  }
  dancers |o--o{ festival_submissions : "submitted_by_id"

Defined at server/database/schema.ts:552 as festivalSubmissions.