{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "followerRule": {
      "description": "Allow comments from actors who follow the author.",
      "properties": {},
      "type": "object"
    },
    "followingRule": {
      "description": "Allow comments from actors the author follows.",
      "properties": {},
      "type": "object"
    },
    "main": {
      "description": "Interaction settings for a log or list, analogous to app.bsky.feed.threadgate/postgate. The record key (rkey) must match the rkey of the gated record. Absence of a gate record means everyone can interact.",
      "key": "tid",
      "record": {
        "properties": {
          "allow": {
            "description": "Rules for who can comment. Absent means everyone; an empty array or a nobody rule means no one.",
            "items": {
              "refs": [
                "#nobodyRule",
                "#followingRule",
                "#followerRule"
              ],
              "type": "union"
            },
            "maxLength": 5,
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "disableLikes": {
            "type": "boolean"
          },
          "hiddenComments": {
            "description": "AT-URIs of comments the author has hidden.",
            "items": {
              "format": "at-uri",
              "type": "string"
            },
            "maxLength": 50,
            "type": "array"
          },
          "subject": {
            "description": "The log or list this gate applies to.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "nobodyRule": {
      "description": "Disallow comments from everyone.",
      "properties": {},
      "type": "object"
    }
  },
  "id": "social.respawn.feed.gate",
  "lexicon": 1
}
