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
| Column | Type | Null | Default | Keys |
|---|---|---|---|---|
| id | uuid | no | gen_random_uuid() | PK |
| kind | text roleoffer | no | — | |
| category | text | no | — | |
| title | text | no | — | |
| poster_name | text | no | — | |
| poster_type | text | no | — | |
| location | text | no | — | |
| styles | json | yes | [] | |
| when | text | no | — | |
| compensation | text | no | — | |
| deadline | date | yes | — | |
| contact_email | text | no | — | |
| contact_url | text | yes | — | |
| entity_url | text | yes | — | |
| status | text openclosed | no | "open" | |
| dancer_id | uuid | yes | — | |
| poster_profile_id | uuid | yes | — | |
| created_at | timestamp | yes | now() | |
| updated_at | timestamp | yes | now() |
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.
Used by
Code that reads or writes this table, found by static analysis of the tRPC routers and API handlers (including helpers they call).
tRPC procedures
REST & webhooks
- ANY /mcp
- ANY /mcp/public
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.