Files
bsky-social-app/lexicons/chat/bsky/group/defs.json

178 lines
4.4 KiB
JSON

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