appBskyFeedThreadgate top-level constant

Map<String, dynamic> const appBskyFeedThreadgate

app.bsky.feed.threadgate

Implementation

const appBskyFeedThreadgate = <String, dynamic>{
  "lexicon": 1,
  "id": "app.bsky.feed.threadgate",
  "defs": {
    "main": {
      "type": "record",
      "description":
          "Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository..",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["post", "createdAt"],
        "properties": {
          "post": {
            "type": "string",
            "format": "at-uri",
            "description": "Reference (AT-URI) to the post record."
          },
          "allow": {
            "type": "array",
            "items": {
              "type": "union",
              "refs": ["#mentionRule", "#followingRule", "#listRule"]
            },
            "maxLength": 5
          },
          "createdAt": {"type": "string", "format": "datetime"}
        }
      }
    },
    "mentionRule": {
      "type": "object",
      "description": "Allow replies from actors mentioned in your post.",
      "properties": {}
    },
    "followingRule": {
      "type": "object",
      "description": "Allow replies from actors you follow.",
      "properties": {}
    },
    "listRule": {
      "type": "object",
      "description": "Allow replies from actors on a list.",
      "required": ["list"],
      "properties": {
        "list": {"type": "string", "format": "at-uri"}
      }
    }
  }
};