com.getorbyt.community.membership

getorbyt.com

Documentation

A user-owned canonical membership link, one record per Community. The record key MUST be base32(sha256(community AT-URI)) truncated to 24 characters, lowercase and unpadded, so writing it twice replaces the record instead of adding a second one and a repo can never hold two memberships for the same Community. The AppView rejects a record whose key is not that derivation, so the invariant is enforced rather than assumed. The key is derived from the AT-URI rather than the Community name, which its owner can change, or the Community's own record key, which is unique only within one repo. Roles, mutes and bans are service-owned and are not asserted by this record.

main record

A user-owned canonical membership link, one record per Community. The record key MUST be base32(sha256(community AT-URI)) truncated to 24 characters, lowercase and unpadded, so writing it twice replaces the record instead of adding a second one and a repo can never hold two memberships for the same Community. The AppView rejects a record whose key is not that derivation, so the invariant is enforced rather than assumed. The key is derived from the AT-URI rather than the Community name, which its owner can change, or the Community's own record key, which is unique only within one repo. Roles, mutes and bans are service-owned and are not asserted by this record.

Record Key any Any valid record key

Properties

community string at-uri Required

The com.getorbyt.community.declaration record this membership is for.

createdAt string datetime Required

An RFC 3339 formatted timestamp.

View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "community",
      "createdAt"
    ],
    "properties": {
      "community": {
        "type": "string",
        "format": "at-uri",
        "description": "The com.getorbyt.community.declaration record this membership is for."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      }
    }
  },
  "description": "A user-owned canonical membership link, one record per Community. The record key MUST be base32(sha256(community AT-URI)) truncated to 24 characters, lowercase and unpadded, so writing it twice replaces the record instead of adding a second one and a repo can never hold two memberships for the same Community. The AppView rejects a record whose key is not that derivation, so the invariant is enforced rather than assumed. The key is derived from the AT-URI rather than the Community name, which its owner can change, or the Community's own record key, which is unique only within one repo. Roles, mutes and bans are service-owned and are not asserted by this record."
}

Lexicon Garden

@