Права (Rights)
Ресурс Rights — правила доступа сотрудников к другим ресурсам.

Получить правила

Запрос
Ответ
1
URL: {domain}/api/v1/rights{?sectionId}{?catalogId}{?recordId}{?withSearch}
Copied!
Метод: GET
Параметры:
  • sectionId: (number, опционально) — идентификатор отдела
  • catalogId: (number, опционально) — идентификатор каталога
  • recordId: (number, опционально) — идентификатор записи
  • withSearch: true (boolean, опционально) — показывать ли автоматически создаваемые правила search — видеть объект в списке (по умолчанию false)
Ответ: 200 OK (application/json)
1
[{
2
"object": {
3
"sectionId": "1"
4
},
5
"rules": [{
6
"rightSubject": { // правило для всех сотрудников
7
"userAttr": "allUsers", // указатель, что правило для всех сотрудников
8
"userAttrTitle": "",
9
"catalogId": null,
10
"catalogIcon": "",
11
"recordId": null,
12
"recordTitle": "Все сотрудники"
13
},
14
"privilegeCode": "view"
15
}, {
16
"rightSubject": { // правило для 5-го сотрудника
17
"userAttr": "id", // указатель, что правило для сотрудника
18
"userAttrTitle": "",
19
"catalogId": "3", // идентификатор каталога сотрудников
20
"catalogIcon": "users-1",
21
"recordId": "1", // идентификатор сотрудника
22
"recordTitle": "User Name" // имя сотрудника
23
},
24
"privilegeCode": "admin"
25
}, {
26
"rightSubject": { // правило для ролевой группы «Москва» в 8 поле анкеты сотрудника
27
"userAttr": "8", // идентификатор поля в анкете сотрудника
28
"userAttrTitle": "Город обслуживания", // название поля в анкете
29
"catalogId": "34", // идентификатор связанного каталога
30
"catalogIcon": "places-24", // иконка связанного каталога
31
"recordId": "1", // идентификатор связанной записи
32
"recordTitle": "Москва" // текстовое наименование связанной записи
33
},
34
"privilegeCode": "edit"
35
}
36
]
37
}]
Copied!
В примере выше три правила:
  • «Все сотрудники» могут «видеть» все записи внутри всех каталогов отдела
  • Сотрудник со свойством {id: 1} может «администрировать» отдел и все каталоги внутри неё
  • Сотрудники со свойством «Город обслуживания» ("userAttr": "8") и значением {"Город"("catalogId": "34"): "Москва"("recordId": "1")} могут «редактировать» все записи внутри всех каталогов отдела
Подробнее о групповых правилах в статье «Правовые группы»

Возможные привилегии

  • search — право видеть иконку каталога или отдела в меню, чтобы видеть некоторые записи внутри
  • view — право видеть все записи каталога (или во всех каталогов отдела)
  • edit — право редактировать все записи каталога (или каталогах отдела)
  • create — право создавать записи в каталоге (или каталогах отдела)
  • export — право выгружать в Excel записи каталога (или каталогов отдела)
  • delete — право удалять записи в каталоге (или каталогах отдела)
  • access — право задавать права на записи в каталоге (или каталогах отдела)
  • admin — право изменять отдел, создавать или менять структуру каталогов
Подробнее о привилегиях в статье «Привилегии»

Сохранение/пересохранение правил

Запрос
Ответ
1
URL: {domain}/api/v1/rights
Copied!
В примере, создаются (или перезатираются) права на отдел 1 (sectionId: 1). Операция удаляет все ранее существующие правила на объект.
Метод: POST
Запрос: (application/json)
1
{
2
"object": {
3
"sectionId": "1"
4
},
5
"rules": [
6
{
7
"rightSubject": { // правило
8
"userAttr": "allUsers", // для всех сотрудников
9
"catalogId": null,
10
"recordId": null
11
},
12
"privilegeCode": "view"
13
},
14
{
15
"rightSubject": { // правило для сотрудника
16
"userAttr": "id", // c идентификатором
17
"catalogId": "3",
18
"recordId": "1" // один
19
},
20
"privilegeCode": "admin"
21
},
22
{
23
"rightSubject": { // правило для сотрудников
24
"userAttr": "8", // у кого в 8 поле анкеты сотрудника (связанный объект)
25
"catalogId": "34", // выбрана запись из 34 каталога
26
"recordId": "1" // c номером 1
27
},
28
"privilegeCode": "edit"
29
}
30
]
31
}
Copied!
В ходе создания правил могут автоматически создасться правила с привилегиями search на родительских объектах. Для записи или вида — это каталог и отдел, для каталога — отдел.
Ответ: 200 OK (application/json)
Last modified 1yr ago