# social.colibri.community.defs

> Published by [colibri.social](https://lexicon.garden/identity/did:plc:mprdjqjluoswa7awzggaggj3)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.community.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.community.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.community.defs/examples)

## Definitions

### `social.colibri.community.defs#roleView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes |  |
| `name` | `string` | Yes |  |
| `color` | `string` | No |  |
| `hoisted` | `boolean` | No |  |
| `position` | `integer` | Yes |  |
| `protected` | `boolean` | No |  |
| `mentionable` | `boolean` | No |  |
| `permissions` | `array` | Yes |  |
| `channelOverrides` | `array` | No |  |

### `social.colibri.community.defs#memberView`

**Type**: `object`

A community member, hydrated with their actor data.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `vc` | `string` (at-uri) | No | AT-URI of the voice channel the member is currently connected to, if any. |
| `did` | `string` (did) | Yes |  |
| `data` | `ref` → `lex:social.colibri.actor.defs#actorData` | Yes |  |
| `roles` | `array` | Yes |  |
| `handle` | `string` (handle) | Yes |  |
| `vcMuted` | `boolean` | No | Whether the member's microphone is muted in the voice channel. |
| `vcDeafened` | `boolean` | No | Whether the member is deafened in the voice channel. |
| `vcServerMuted` | `boolean` | No | Whether the member has been server-muted by a moderator in the voice channel. |
| `vcServerDeafened` | `boolean` | No | Whether the member has been server-deafened by a moderator in the voice channel. |

### `social.colibri.community.defs#channelView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes |  |
| `name` | `string` | Yes |  |
| `type` | `string` (nsid) | Yes |  |
| `category` | `string` (at-uri) | Yes |  |
| `ownerOnly` | `boolean` | No |  |
| `linkEmbeds` | `boolean` | No |  |
| `description` | `string` | No |  |
| `allowedRoles` | `array` | No |  |
| `allowedMembers` | `array` | No |  |

### `social.colibri.community.defs#categoryView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes |  |
| `name` | `string` | Yes |  |
| `channelOrder` | `array` | Yes |  |

### `social.colibri.community.defs#communityInfo`

**Type**: `object`

Core community record data, hydrated with its AT-URI.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes |  |
| `name` | `string` | Yes |  |
| `banner` | `blob` | No |  |
| `appview` | `string` (did) | Yes |  |
| `picture` | `blob` | No |  |
| `linkEmbeds` | `boolean` | No |  |
| `description` | `string` | Yes |  |
| `categoryOrder` | `array` | Yes |  |
| `requiresApprovalToJoin` | `boolean` | Yes |  |

### `social.colibri.community.defs#invitationView`

**Type**: `object`

An invitation with its creator as a bare DID.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `code` | `string` | Yes |  |
| `active` | `boolean` | Yes |  |
| `community` | `string` (at-uri) | Yes |  |
| `createdBy` | `string` (did) | Yes |  |

### `social.colibri.community.defs#applicationView`

**Type**: `object`

A pending or dismissed membership application.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `data` | `ref` → `lex:social.colibri.actor.defs#actorData` | Yes |  |
| `handle` | `string` (handle) | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `membership` | `string` (at-uri) | Yes |  |

### `social.colibri.community.defs#channelOverrideView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `deny` | `array` | No |  |
| `allow` | `array` | No |  |
| `channel` | `string` (at-uri) | Yes |  |

### `social.colibri.community.defs#invitationProfileView`

**Type**: `object`

An invitation with its creator hydrated as an actor.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `code` | `string` | Yes |  |
| `active` | `boolean` | Yes |  |
| `community` | `string` (at-uri) | Yes |  |
| `createdBy` | `ref` → `lex:social.colibri.actor.defs#actorView` | Yes |  |

### `social.colibri.community.defs#resolvedInvitationView`

**Type**: `object`

An invitation hydrated with its community's public details, for the invite accept screen.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `code` | `string` | Yes |  |
| `name` | `string` | Yes |  |
| `active` | `boolean` | Yes |  |
| `banner` | `blob` | No |  |
| `picture` | `blob` | No |  |
| `community` | `string` (at-uri) | Yes |  |
| `createdBy` | `string` (did) | Yes |  |
| `memberCount` | `integer` | Yes |  |
| `onlineCount` | `integer` | Yes |  |
| `requiresApprovalToJoin` | `boolean` | Yes |  |

## Raw Schema

```json
{
  "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"
        },
        "linkEmbeds": {
          "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"
        },
        "linkEmbeds": {
          "type": "boolean"
        },
        "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
}
```
