Стандартные роли
4 встроенные роли с фиксированным набором прав. Подойдут для большинства команд без необходимости настраивать кастомные.
Сводка
| Роль | Просмотр | Создание | Редактирование | Удаление | Команда | Биллинг | |---|---|---|---|---|---|---| | OWNER | Всё | Всё | Всё | Всё | Управление | Управление | | ADMIN | Всё | Всё | Всё | Всё | Просмотр | Ограничено | | EDITOR | Всё | Всё | Всё | Нет | Нет | Нет | | VIEWER | Всё | Нет | Нет | Нет | Нет | Нет |
OWNER
Кто это: создатель компании. Один на компанию.
Что может:
- Всё, что есть в приложении.
- Управление командой (приглашать, менять роли, удалять).
- Управление подпиской и оплатой.
- Удалить компанию.
Что не может:
- Передать роль OWNER другому пользователю — пока не реализовано (на дорожной карте).
- Удалить себя из компании — нужно сначала передать OWNER, что пока невозможно. Поэтому OWNER обычно остаётся навсегда.
ADMIN
Когда давать: партнёр / co-founder, который занимается всем кроме оплаты.
Что может:
- Создавать, редактировать, удалять любые операции и сущности.
- Видеть всю команду и аудит-лог.
- Менять настройки компании (валюта, часовой пояс, фиксированные курсы).
Что не может:
- Управлять биллингом (сменить тариф, оплатить).
- Удалить компанию.
- Менять роль OWNER.
EDITOR
Когда давать: сотрудник, который заносит операции в журнал.
Что может:
- Создавать операции, счета, категории, контрагентов.
- Редактировать всё что создано (своё и чужое).
- Видеть все отчёты.
Что не может:
- Удалять операции, счета и т. д. — это сильное ограничение, для безопасности данных.
- Видеть и менять команду.
- Менять настройки компании.
Если EDITOR ошибся — он может отредактировать запись (например, изменить сумму), но не удалить. Удалять придётся ADMIN или OWNER.
VIEWER
Когда давать: бухгалтер на чтение, проверяющий, инвестор, демо-пользователь.
Что может:
- Видеть все операции, отчёты, балансы.
- Экспортировать данные.
Что не может:
- Никаких изменений — UI скрывает кнопки «Доход / Расход / Перевод», действия в таблицах. API возвращает 403 на любую попытку POST / PATCH / DELETE.
Все 6 демо-аккаунтов на incash.one/demo имеют роль VIEWER — поэтому данные неизменны.
Смена роли
Команда → выбрать сотрудника → Роль. Менять:
- Свою роль — нельзя (поле заблокировано).
- Роль OWNER — нельзя.
- Любого другого — да, в любую сторону.
RBAC применяется на двух уровнях
- API —
requireRole(уровень)в каждом POST / PATCH / DELETE. Возвращает 403 если роль ниже. - UI — кнопки мутаций скрываются для VIEWER. Это для удобства — клик и так бы вернул 403, но скрытие кнопок чище.
См. RBAC и роли.
Кастомные должности
Если стандартных мало — можно создавать свои с гранулярными правами. См. Кастомные должности.