Группы политик

Группы политик позволяют управлять правами пользователей на уровне групп. Каждый пользователь принадлежит одной группе, которая определяет его набор разрешений.

Что такое группа политик

Группа политик -- это именованный набор разрешений. Группа имеет название, описание, цвет и иконку для отображения в интерфейсе. Каждая группа содержит JSON-объект permissions, определяющий, что разрешено её участникам.

Доступные разрешения

РазрешениеОписаниеПо умолчанию
can_create_chatsСоздание личных чатовда
can_create_group_chatsСоздание групповых чатовда
can_create_callsИнициирование звонковда
can_upload_filesЗагрузка файловда
max_upload_size_mbМаксимальный размер файла (МБ)50
can_screen_shareДемонстрация экрана в звонкахда
can_invite_usersПриглашение новых пользователейнет
can_record_callsЗапись звонковнет
can_use_federationИспользование федеративных чатовнет

Группа по умолчанию

Одна группа может быть отмечена как группа по умолчанию (isDefault: true). Все новые пользователи при регистрации автоматически попадают в эту группу. Может существовать только одна группа по умолчанию -- при назначении новой предыдущая теряет этот статус.

Удалить группу по умолчанию нельзя. Сначала назначьте другую группу в качестве группы по умолчанию.

Автоматическое присоединение к чатам

К каждой группе можно привязать список чатов (поле chatIds). При назначении пользователя в группу он автоматически становится участником всех привязанных чатов.

Это удобно для:

Назначение пользователей

Назначение выполняется через админ-панель или API:

При назначении пользователя автоматически срабатывает присоединение к привязанным чатам.

Пример конфигурации через API

Создание группы:

POST /api/admin/policy-groups
{
  "name": "Базовая",
  "description": "Стандартные пользователи",
  "color": "#5b5fc7",
  "icon": "users",
  "isDefault": true,
  "permissions": {
    "can_create_chats": true,
    "can_create_group_chats": true,
    "can_create_calls": true,
    "can_upload_files": true,
    "max_upload_size_mb": 50,
    "can_screen_share": true,
    "can_invite_users": false,
    "can_record_calls": false,
    "can_use_federation": false
  },
  "chatIds": ["chat-uuid-general", "chat-uuid-announcements"]
}