Skip to content
Gigs & hangouts

gigs

Gigs — opportunity board for dance roles and service offerings kind: 'role' = organizer/festival posting an open role they need filled kind: 'offer' = artist posting a service they offer

Columns

ColumnTypeNullDefaultKeys
iduuid nogen_random_uuid()
PK
kindtext
roleoffer
no—
categorytext no—
titletext no—
poster_nametext no—
poster_typetext no—
locationtext no—
stylesjson yes[]
whentext no—
compensationtext no—
deadlinedate yes—
contact_emailtext no—
contact_urltext yes—
entity_urltext yes—
statustext
openclosed
no"open"
dancer_iduuid yes—
poster_profile_iduuid yes—
created_attimestamp yesnow()
updated_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

  • dancer_id → dancers.id
    on delete no action
  • poster_profile_id → profiles.id
    on delete set null

Referenced by

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
  }
  gig_applications {
    uuid id PK
    uuid gig_id FK
    uuid dancer_id FK
    uuid profile_id FK
    uuid decided_by FK
  }
  gigs {
    uuid id PK
    uuid dancer_id FK
    uuid poster_profile_id FK
  }
  inbound_requests {
    uuid id PK
    uuid dancer_id FK
    uuid event_id FK
    uuid profile_id FK
    uuid gig_id FK
  }
  profiles {
    uuid id PK
    text username UK
  }
  gigs ||--o{ gig_applications : "gig_id"
  dancers ||--o{ gig_applications : "dancer_id"
  profiles |o--o{ gig_applications : "profile_id"
  dancers |o--o{ gig_applications : "decided_by"
  dancers |o--o{ gigs : "dancer_id"
  profiles |o--o{ gigs : "poster_profile_id"
  dancers |o--o{ inbound_requests : "dancer_id"
  profiles |o--o{ inbound_requests : "profile_id"
  gigs |o--o{ inbound_requests : "gig_id"

Defined at server/database/schema.ts:676 as gigs.