The author taking part in a challenge. Joining is how a challenge comes to be offered wherever the author posts - nobody is signed up for a challenge they didn't join - and it's public, like a follow, so a challenge can show who's taking part before anyone has entered. Entering a prompt joins too. One join per person per challenge is enforced by this app's AppView rather than the record key: its write path won't write a second, and where another client leaves several, they count once. Leaving deletes the join and nothing else - entries already made stay.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
subject
ref
com.atproto.repo.strongRef
Required
Strong ref to the pics.2bit.challenge.list being joined. Matched by uri alone, like pics.2bit.challenge.entry#challenge, so an organizer's edit to the list doesn't undo anyone's join; a strongRef carries no type, so the collection is enforced by the AppView.
View raw schema
{
"description": "The author taking part in a challenge. Joining is how a challenge comes to be offered wherever the author posts - nobody is signed up for a challenge they didn't join - and it's public, like a follow, so a challenge can show who's taking part before anyone has entered. Entering a prompt joins too. One join per person per challenge is enforced by this app's AppView rather than the record key: its write path won't write a second, and where another client leaves several, they count once. Leaving deletes the join and nothing else - entries already made stay.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"subject": {
"description": "Strong ref to the pics.2bit.challenge.list being joined. Matched by uri alone, like pics.2bit.challenge.entry#challenge, so an organizer's edit to the list doesn't undo anyone's join; a strongRef carries no type, so the collection is enforced by the AppView.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
}
},
"required": [
"subject",
"createdAt"
],
"type": "object"
},
"type": "record"
}