docs(permissions): Phase C (кастомные роли) завершена на ветке — прогресс C-1..C-4b

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-03 15:27:21 +03:00
parent 6b148127b6
commit b9b86a3656
@@ -50,3 +50,13 @@ requireRole. Затем, если нужно, **Вариант 2** для одн
и C11 — только под явный запрос (большой рефактор аутентификации).
> Реализация — на ветке `feature/custom-roles`. Сначала выбрать вариант/конкретную роль.
## Прогресс Phase C (2026-06-03, ветка feature/custom-roles)
- [x] C-1 фундамент: таблица roles + effectiveRoles (наследование гейтов) — миграция 054
- [x] C-2 назначение: users.custom_role + updateRole + authMiddleware — миграция 055
- [x] C-3 пер-ролевые права: релакс CHECK role_permissions + isEnabled(customRole, фолбэк база) — миграция 056
- [x] C-4a API ролей: /api/roles CRUD + засев из базы + setPermission для кастомных
- [x] C-4b UI: конструктор ролей во вкладке «Доступ · роли» + выпадающий список ролей у пользователя
- PHASE C (произвольные кастомные роли) ЗАВЕРШЕНА на ветке. Тесты: custom-roles 8/8, roles-api 5/5, permissions 17/17, full backend в рамках baseline.
- Влить в master после ревью/проверки в браузере (на ветке: перезапустить сервер → код ветки). Миграции 054-056 уже в общей БД (обратносовместимы с master).
- C-10 (делегирование учителю) и C-11 (пер-классовый скоуп прав) из исходного дизайна — НЕ делались (был выбран вариант «произвольные роли»).