arm-core/api/seed/core/role_permissions.yaml
Andrey Epifancev 2c83005564 fix: seed выдаёт права новых ролей и прав в заполненную матрицу (ревью R-3, R-9, #9)
При непустой `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
2026-10-05 13:47:42 +04:00

67 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Матрица «роль → права»: 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