tRPC router
artistInvites
Artist confirmation. An organizer's photo, video or name for an artist in their line-up is a pending suggestion on the artist's profile (the event uses it right away). The organizer copies a personal link for each artist; the artist opens it, approves or changes what's there, adds more — and, when nobody owns the page yet, creates an account and owns it.
Procedures (9)
Input
{
eventId: string // uuid
handle: string // len 1..200
kind: "photo" | "video" | "name" | "bio" | "city" | "styles" | "instagram" | "website" | "facebook"
value: string // len 1..500
}Input
{
eventId: string // uuid
handles: string[] // items 0..60
}Input
{
eventId: string // uuid
handle: string // len 1..200
}Input
{
eventId: string // uuid
handle: string // len 1..200
name?: string // len 1..120
city?: string // len 0..120
bio?: string // len 0..4000
styles?: string[] // items 0..20
instagram?: string // len 0..300
website?: string // len 0..300
facebook?: string // len 0..300
addPhotos?: string[] // items 0..20, default []
addVideos?: string[] // items 0..10
}Input
{
eventId: string // uuid
handle: string // len 1..200
}Input
{
eventId: string // uuid
handle: string // len 1..200
}Input
{
token?: string // len 10..80
username?: string // len 1..200
}Input
{
token?: string // len 10..80
username?: string // len 1..200
decisions?: {
id: string // uuid
approve: boolean
}[] // items 0..100, default []
name?: string // len 1..120
bio?: string // len 0..2000
instagram?: string // len 0..300
city?: string // len 0..120
styles?: string[] // items 0..20
website?: string // len 0..300
facebook?: string // len 0..300
addPhotos?: string[] // items 0..20, default []
addVideos?: string[] // items 0..10
removePhotos?: string[] // items 0..50, default []
mainPhoto?: string | null
participation?: "confirmed" | "declined"
programmeOk?: boolean
programmeNote?: string // len 0..2000
postsOk?: boolean
message?: string // len 0..2000
venueAnswer?: "confirmed" | "proposed" | "declined"
alternative?: string // len 0..500
terms?: {
rent?: string // len 0..200
minSpend?: string // len 0..200
doorSplit?: string // len 0..200
deposit?: string // len 0..200
includes?: string[] // items 0..20
capacity?: number /* int */ | null
notes?: string // len 0..2000
}
address?: string // len 0..300
floorType?: string // len 0..60
}Input
{
token: string // len 10..80
}