social.grain.group.defs

Repository @grain.social did:plc:e7rftrdyz5e2rw4y6ocszew2 not from the namespace authority
Details · defs
Kinddefs
Authoritygroup.grain.social
Indexed
cid bafyreiftzikapm34plohf5cmabb7yki75aoeqh5s4d5n3rr4kod2ule7dq

Checks

Valid
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "groupRef": {
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "handle": {
          "type": "string"
        },
        "item": {
          "description": "The social.grain.group.item that pools this gallery.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "did",
        "handle",
        "item"
      ],
      "type": "object"
    },
    "groupView": {
      "properties": {
        "avatar": {
          "format": "uri",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "handle": {
          "type": "string"
        },
        "joinPolicy": {
          "description": "How to get in, from the group's public profile.",
          "knownValues": [
            "open",
            "request",
            "invite"
          ],
          "type": "string"
        },
        "lastActivityAt": {
          "description": "When the pool last changed.",
          "format": "datetime",
          "type": "string"
        },
        "pendingCount": {
          "description": "Submissions awaiting review. Only present for a viewer acting as the group.",
          "type": "integer"
        },
        "poolCount": {
          "description": "Galleries in the pool.",
          "type": "integer"
        },
        "rules": {
          "items": {
            "ref": "#rule",
            "type": "ref"
          },
          "type": "array"
        },
        "url": {
          "description": "The group's own site, from its opensocial profile. Where the group is actually run.",
          "format": "uri",
          "type": "string"
        },
        "viewer": {
          "ref": "#viewerState",
          "type": "ref"
        }
      },
      "required": [
        "did",
        "handle"
      ],
      "type": "object"
    },
    "rule": {
      "properties": {
        "text": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "title"
      ],
      "type": "object"
    },
    "submissionState": {
      "properties": {
        "item": {
          "description": "The group's item record, once accepted.",
          "format": "at-uri",
          "type": "string"
        },
        "status": {
          "knownValues": [
            "pending",
            "accepted",
            "declined"
          ],
          "type": "string"
        },
        "uri": {
          "description": "The submission record.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "status"
      ],
      "type": "object"
    },
    "submissionView": {
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "gallery": {
          "ref": "social.grain.gallery.defs#galleryView",
          "type": "ref"
        },
        "group": {
          "format": "did",
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "group",
        "gallery",
        "createdAt"
      ],
      "type": "object"
    },
    "viewerState": {
      "properties": {
        "acting": {
          "description": "The viewer is signed in as this group, so may accept and remove.",
          "type": "boolean"
        },
        "member": {
          "description": "The viewer has accepted membership of this group, as their own PDS lists it. A claim, not access: the host decides that.",
          "type": "boolean"
        },
        "submission": {
          "description": "The viewer's standing for the gallery named in the request, if one was.",
          "ref": "#submissionState",
          "type": "ref"
        }
      },
      "type": "object"
    }
  },
  "id": "social.grain.group.defs",
  "lexicon": 1
}