pics.2bit.challenge.join

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.

Repository @2bit.pics did:plc:sbmntiflmknij2axeck3w6u7 namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritychallenge.2bit.pics
Indexed
cid bafyreiba4ckyiw7al2qpmd7s2u7g3b6zp7oyhekwgghszd5jkqrsgz7fwe

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "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"
    }
  },
  "id": "pics.2bit.challenge.join",
  "lexicon": 1
}