{
"id": "social.colibri.community.defs",
"defs": {
"roleView": {
"type": "object",
"required": [
"uri",
"name",
"permissions",
"position"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"hoisted": {
"type": "boolean"
},
"position": {
"type": "integer"
},
"protected": {
"type": "boolean"
},
"mentionable": {
"type": "boolean"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"channelOverrides": {
"type": "array",
"items": {
"ref": "lex:social.colibri.community.defs#channelOverrideView",
"type": "ref"
}
}
}
},
"memberView": {
"type": "object",
"required": [
"did",
"handle",
"roles",
"data"
],
"properties": {
"vc": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the voice channel the member is currently connected to, if any."
},
"did": {
"type": "string",
"format": "did"
},
"data": {
"ref": "lex:social.colibri.actor.defs#actorData",
"type": "ref"
},
"roles": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
}
},
"handle": {
"type": "string",
"format": "handle"
},
"vcMuted": {
"type": "boolean",
"description": "Whether the member's microphone is muted in the voice channel."
},
"vcDeafened": {
"type": "boolean",
"description": "Whether the member is deafened in the voice channel."
},
"vcServerMuted": {
"type": "boolean",
"description": "Whether the member has been server-muted by a moderator in the voice channel."
},
"vcServerDeafened": {
"type": "boolean",
"description": "Whether the member has been server-deafened by a moderator in the voice channel."
}
},
"description": "A community member, hydrated with their actor data."
},
"channelView": {
"type": "object",
"required": [
"uri",
"name",
"type",
"category"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"format": "nsid"
},
"category": {
"type": "string",
"format": "at-uri"
},
"ownerOnly": {
"type": "boolean"
},
"description": {
"type": "string"
},
"allowedRoles": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
}
},
"allowedMembers": {
"type": "array",
"items": {
"type": "string",
"format": "did"
}
}
}
},
"categoryView": {
"type": "object",
"required": [
"uri",
"name",
"channelOrder"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"name": {
"type": "string"
},
"channelOrder": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
}
}
}
},
"communityInfo": {
"type": "object",
"required": [
"uri",
"name",
"description",
"categoryOrder",
"requiresApprovalToJoin",
"appview"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"name": {
"type": "string"
},
"banner": {
"type": "blob"
},
"appview": {
"type": "string",
"format": "did"
},
"picture": {
"type": "blob"
},
"description": {
"type": "string"
},
"categoryOrder": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
}
},
"requiresApprovalToJoin": {
"type": "boolean"
}
},
"description": "Core community record data, hydrated with its AT-URI."
},
"invitationView": {
"type": "object",
"required": [
"code",
"community",
"createdBy",
"active"
],
"properties": {
"code": {
"type": "string"
},
"active": {
"type": "boolean"
},
"community": {
"type": "string",
"format": "at-uri"
},
"createdBy": {
"type": "string",
"format": "did"
}
},
"description": "An invitation with its creator as a bare DID."
},
"applicationView": {
"type": "object",
"required": [
"did",
"handle",
"membership",
"createdAt",
"data"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"data": {
"ref": "lex:social.colibri.actor.defs#actorData",
"type": "ref"
},
"handle": {
"type": "string",
"format": "handle"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"membership": {
"type": "string",
"format": "at-uri"
}
},
"description": "A pending or dismissed membership application."
},
"channelOverrideView": {
"type": "object",
"required": [
"channel"
],
"properties": {
"deny": {
"type": "array",
"items": {
"type": "string"
}
},
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"channel": {
"type": "string",
"format": "at-uri"
}
}
},
"invitationProfileView": {
"type": "object",
"required": [
"code",
"community",
"createdBy",
"active"
],
"properties": {
"code": {
"type": "string"
},
"active": {
"type": "boolean"
},
"community": {
"type": "string",
"format": "at-uri"
},
"createdBy": {
"ref": "lex:social.colibri.actor.defs#actorView",
"type": "ref"
}
},
"description": "An invitation with its creator hydrated as an actor."
},
"resolvedInvitationView": {
"type": "object",
"required": [
"code",
"community",
"createdBy",
"active",
"name",
"memberCount",
"onlineCount",
"requiresApprovalToJoin"
],
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"banner": {
"type": "blob"
},
"picture": {
"type": "blob"
},
"community": {
"type": "string",
"format": "at-uri"
},
"createdBy": {
"type": "string",
"format": "did"
},
"memberCount": {
"type": "integer"
},
"onlineCount": {
"type": "integer"
},
"requiresApprovalToJoin": {
"type": "boolean"
}
},
"description": "An invitation hydrated with its community's public details, for the invite accept screen."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}