Группы политик
Группы политик позволяют управлять правами пользователей на уровне групп. Каждый пользователь принадлежит одной группе, которая определяет его набор разрешений.
Что такое группа политик
Группа политик -- это именованный набор разрешений. Группа имеет название, описание, цвет и иконку для отображения в интерфейсе. Каждая группа содержит 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/:id/assignс телом{"userIds": [1, 2, 3]}.
При назначении пользователя автоматически срабатывает присоединение к привязанным чатам.
Пример конфигурации через 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"]
}