Files
bsky-social-app/lexicons/chat/bsky/group/defs.json
2026-08-13 12:26:12 -07:00

193 lines
4.6 KiB
JSON

{
"id": "chat.bsky.group.defs",
"defs": {
"joinRule": {
"type": "string",
"knownValues": [
"anyone",
"followedByOwner"
]
},
"joinLinkView": {
"type": "object",
"required": [
"code",
"enabledStatus",
"requireApproval",
"joinRule",
"createdAt"
],
"properties": {
"code": {
"type": "string"
},
"joinRule": {
"ref": "#joinRule",
"type": "ref"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"enabledStatus": {
"ref": "#linkEnabledStatus",
"type": "ref"
},
"requireApproval": {
"type": "boolean"
}
},
"description": "Join link view to be used within a group view, so the convo is surrounding, not specified inside this view."
},
"joinRequestView": {
"type": "object",
"required": [
"convoId",
"requestedBy",
"requestedAt"
],
"properties": {
"convoId": {
"type": "string"
},
"requestedAt": {
"type": "string",
"format": "datetime"
},
"requestedBy": {
"ref": "chat.bsky.actor.defs#profileViewBasic",
"type": "ref"
}
},
"description": "A join request from the perspective of the group owner."
},
"linkEnabledStatus": {
"type": "string",
"knownValues": [
"enabled",
"disabled"
]
},
"joinLinkPreviewView": {
"type": "object",
"required": [
"convoId",
"code",
"name",
"owner",
"memberCount",
"memberLimit",
"requireApproval",
"joinRule"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"convo": {
"ref": "chat.bsky.convo.defs#convoView",
"type": "ref",
"description": "Present only if the request is authenticated and the user is a member of the group."
},
"owner": {
"ref": "chat.bsky.actor.defs#profileViewBasic",
"type": "ref"
},
"viewer": {
"ref": "#joinLinkViewerState",
"type": "ref"
},
"convoId": {
"type": "string"
},
"joinRule": {
"ref": "#joinRule",
"type": "ref"
},
"memberCount": {
"type": "integer"
},
"memberLimit": {
"type": "integer"
},
"requireApproval": {
"type": "boolean"
}
},
"description": "Preview that can be shown in feeds, including to unauthenticated viewers."
},
"joinLinkViewerState": {
"type": "object",
"properties": {
"requestedAt": {
"type": "string",
"format": "datetime"
}
}
},
"joinRequestConvoView": {
"type": "object",
"required": [
"convoId",
"name",
"owner",
"memberCount",
"memberLimit",
"viewer"
],
"properties": {
"name": {
"type": "string"
},
"owner": {
"ref": "chat.bsky.actor.defs#profileViewBasic",
"type": "ref"
},
"viewer": {
"ref": "#joinLinkViewerState",
"type": "ref"
},
"convoId": {
"type": "string"
},
"memberCount": {
"type": "integer"
},
"memberLimit": {
"type": "integer"
}
},
"description": "A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count)."
},
"invalidJoinLinkPreviewView": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
}
},
"description": "Preview for a join link code that does not map to an existing link. Carries only the code so clients can correlate with the input and render an invalid state."
},
"disabledJoinLinkPreviewView": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
}
},
"description": "Preview for a disabled join link. Carries only the code so clients can correlate with the input and render a disabled state."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}