При непустой `role_permission` вставляются пары, у которых роль или право вставлены этим же прогоном (`_upsert` возвращает вставленные ключи): их администратор снять не мог. Прочие пары по-прежнему не трогаются — снятые права не возвращаются. Убрана мёртвая ветка `unchanged` (R-9): при пустой таблице совпадений быть не может, при заполненной сверка не нужна. Тесты: новое право и новая роль во временном seed-каталоге → повторный seed выдаёт только их пары, снятая связь не возвращается; администратор снял все связи → матрица заливается заново. README, CLAUDE.md, комментарий `role_permissions.yaml` и докстринг `seed.py` уточнены. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
# Матрица «роль → права»: docs/context/05-domain-rules.md §10 (ТЗ 8.1, Прил. 2 «Роль: перечень полномочий»).
|
||
# ASSUMPTION(OQ-16): в ТЗ матрица помечена «будет разработана» (сноска 29) — это ЧЕРНОВИК; администратор правит её в UI.
|
||
# Пояснения в скобках в таблице §10 («свой РФ», «состав ГСК», «INITIATED…CONSOLIDATION_RF» и т. п.) — условия
|
||
# policy-слоя, а не отдельные права, поэтому здесь не представлены.
|
||
# Ключ — role.code из roles.yaml, значения — permission.code из permissions.yaml; granted_by = NULL (выдано seed'ом).
|
||
# Матрица загружается целиком только в ПУСТУЮ role_permission; в заполненную — лишь пары ролей/прав, впервые созданных
|
||
# этим запуском seed (снятые администратором права не возвращаются). Права, которых в файле нет, seed не отзывает.
|
||
ADMIN:
|
||
- DIRECTORY_VIEW
|
||
- DIRECTORY_EDIT
|
||
- DIRECTORY_DELETE
|
||
- DIRECTORY_ADMIN
|
||
- EX_VIEW
|
||
- USERS_ADMIN
|
||
- AUDIT_VIEW
|
||
CURATOR_GO:
|
||
- DIRECTORY_VIEW
|
||
- DIRECTORY_EDIT
|
||
- CONSOLIDATION_VIEW
|
||
- KFO_VIEW
|
||
- EX_VIEW
|
||
KA_RF:
|
||
- DIRECTORY_VIEW
|
||
- DIRECTORY_EDIT
|
||
- DOCUMENT_VIEW
|
||
- DOCUMENT_EDIT
|
||
- CONSOLIDATION_VIEW
|
||
- CONSOLIDATION_EDIT
|
||
- KFO_VIEW
|
||
- KFO_EXPORT
|
||
- EX_VIEW
|
||
- EXPORT
|
||
RKA:
|
||
- DIRECTORY_VIEW
|
||
- DIRECTORY_EDIT
|
||
- DOCUMENT_VIEW
|
||
- CONSOLIDATION_VIEW
|
||
- CONSOLIDATION_EDIT
|
||
- KFO_VIEW
|
||
- KFO_APPROVE
|
||
- EX_VIEW
|
||
- EXPORT
|
||
KA_GO:
|
||
- DIRECTORY_VIEW
|
||
- DIRECTORY_EDIT
|
||
- DOCUMENT_VIEW
|
||
- DOCUMENT_EDIT
|
||
- CONSOLIDATION_VIEW
|
||
- CONSOLIDATION_EDIT
|
||
- KFO_VIEW
|
||
- KFO_VERIFY
|
||
- KFO_EXPORT
|
||
- EX_VIEW
|
||
- EXPORT
|
||
EXPERT:
|
||
- DIRECTORY_VIEW
|
||
- DOCUMENT_VIEW
|
||
- CONSOLIDATION_VIEW
|
||
- KFO_VIEW
|
||
- EX_VIEW
|
||
CLIENT_MANAGER:
|
||
- DIRECTORY_VIEW
|
||
- DOCUMENT_VIEW
|
||
- DOCUMENT_EDIT
|
||
- CONSOLIDATION_VIEW
|
||
- KFO_VIEW
|