feat(#190): право QUALITY_METRICS_VIEW всем ролям (design §8)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-11-06 22:46:48 +04:00
parent 362d20c1c1
commit c161643ac1
4 changed files with 21 additions and 3 deletions

View File

@ -65,3 +65,7 @@
object: AUDIT
action: VIEW
name: "Журнал действий: просмотр"
- code: QUALITY_METRICS_VIEW
object: QUALITY_METRICS
action: VIEW
name: "Метрики качества: просмотр"

View File

@ -13,12 +13,14 @@ ADMIN:
- EX_VIEW
- USERS_ADMIN
- AUDIT_VIEW
- QUALITY_METRICS_VIEW
CURATOR_GO:
- DIRECTORY_VIEW
- DIRECTORY_EDIT
- CONSOLIDATION_VIEW
- KFO_VIEW
- EX_VIEW
- QUALITY_METRICS_VIEW
KA_RF:
- DIRECTORY_VIEW
- DIRECTORY_EDIT
@ -30,6 +32,7 @@ KA_RF:
- KFO_EXPORT
- EX_VIEW
- EXPORT
- QUALITY_METRICS_VIEW
RKA:
- DIRECTORY_VIEW
- DIRECTORY_EDIT
@ -40,6 +43,7 @@ RKA:
- KFO_APPROVE
- EX_VIEW
- EXPORT
- QUALITY_METRICS_VIEW
KA_GO:
- DIRECTORY_VIEW
- DIRECTORY_EDIT
@ -52,15 +56,18 @@ KA_GO:
- KFO_EXPORT
- EX_VIEW
- EXPORT
- QUALITY_METRICS_VIEW
EXPERT:
- DIRECTORY_VIEW
- DOCUMENT_VIEW
- CONSOLIDATION_VIEW
- KFO_VIEW
- EX_VIEW
- QUALITY_METRICS_VIEW
CLIENT_MANAGER:
- DIRECTORY_VIEW
- DOCUMENT_VIEW
- DOCUMENT_EDIT
- CONSOLIDATION_VIEW
- KFO_VIEW
- QUALITY_METRICS_VIEW

View File

@ -30,6 +30,7 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("EX", "VIEW"),
("USERS", "ADMIN"),
("AUDIT", "VIEW"),
("QUALITY_METRICS", "VIEW"),
},
"CURATOR_GO": {
("DIRECTORY", "VIEW"),
@ -37,6 +38,7 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("CONSOLIDATION", "VIEW"),
("KFO", "VIEW"),
("EX", "VIEW"),
("QUALITY_METRICS", "VIEW"),
},
"KA_RF": {
("DIRECTORY", "VIEW"),
@ -49,6 +51,7 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("KFO", "EXPORT"),
("EX", "VIEW"),
("EXPORT", "EXPORT"),
("QUALITY_METRICS", "VIEW"),
},
"RKA": {
("DIRECTORY", "VIEW"),
@ -60,6 +63,7 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("KFO", "APPROVE"),
("EX", "VIEW"),
("EXPORT", "EXPORT"),
("QUALITY_METRICS", "VIEW"),
},
"KA_GO": {
("DIRECTORY", "VIEW"),
@ -73,6 +77,7 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("KFO", "EXPORT"),
("EX", "VIEW"),
("EXPORT", "EXPORT"),
("QUALITY_METRICS", "VIEW"),
},
"EXPERT": {
("DIRECTORY", "VIEW"),
@ -80,6 +85,7 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("CONSOLIDATION", "VIEW"),
("KFO", "VIEW"),
("EX", "VIEW"),
("QUALITY_METRICS", "VIEW"),
},
"CLIENT_MANAGER": {
("DIRECTORY", "VIEW"),
@ -87,11 +93,12 @@ MATRIX_S10: dict[str, set[tuple[str, str]]] = {
("DOCUMENT", "EDIT"),
("CONSOLIDATION", "VIEW"),
("KFO", "VIEW"),
("QUALITY_METRICS", "VIEW"),
},
}
ROLE_COUNT = 7
PERMISSION_COUNT = 16
GRANT_COUNT = sum(len(pairs) for pairs in MATRIX_S10.values()) # 52
PERMISSION_COUNT = 17
GRANT_COUNT = sum(len(pairs) for pairs in MATRIX_S10.values()) # 59
ROLE_CODES = {"KA_RF", "KA_GO", "RKA", "CLIENT_MANAGER", "CURATOR_GO", "EXPERT", "ADMIN"}

View File

@ -3,7 +3,7 @@
export type BusinessSegment = 'DKB' | 'DMSB' | 'DM';
/** Как `PermissionObject` / `PermissionAction` в api/src/models/enums.py. */
export type PermissionObject = 'DIRECTORY' | 'DOCUMENT' | 'CONSOLIDATION' | 'KFO' | 'EX' | 'EXPORT' | 'USERS' | 'AUDIT';
export type PermissionObject = 'DIRECTORY' | 'DOCUMENT' | 'CONSOLIDATION' | 'KFO' | 'EX' | 'EXPORT' | 'USERS' | 'AUDIT' | 'QUALITY_METRICS';
export type PermissionAction = 'VIEW' | 'EDIT' | 'APPROVE' | 'VERIFY' | 'DELETE' | 'EXPORT' | 'ADMIN';
/** Страница списка верхнего уровня (`schemas/common.py:Page`). */