URL: {domain}/api/v1/rights{?sectionId}{?catalogId}{?recordId}{?withSearch}
Метод: GET
Параметры:
sectionId: (number, опционально) — идентификатор отдела
catalogId: (number, опционально) — идентификатор каталога
recordId: (number, опционально) — идентификатор записи
withSearch: true (boolean, опционально) — показывать ли автоматически создаваемые правила search — видеть объект в списке (по умолчанию false)
Ответ: 200 OK (application/json)
[{"object": {"sectionId": "1"},"rules": [{"rightSubject": { // правило для всех сотрудников"userAttr": "allUsers", // указатель, что правило для всех сотрудников"userAttrTitle": "","catalogId": null,"catalogIcon": "","recordId": null,"recordTitle": "Все сотрудники"},"privilegeCode": "view"}, {"rightSubject": { // правило для 5-го сотрудника"userAttr": "id", // указатель, что правило для сотрудника"userAttrTitle": "","catalogId": "3", // идентификатор каталога сотрудников"catalogIcon": "users-1","recordId": "1", // идентификатор сотрудника"recordTitle": "User Name" // имя сотрудника},"privilegeCode": "admin"}, {"rightSubject": { // правило для ролевой группы «Москва» в 8 поле анкеты сотрудника"userAttr": "8", // идентификатор поля в анкете сотрудника"userAttrTitle": "Город обслуживания", // название поля в анкете"catalogId": "34", // идентификатор связанного каталога"catalogIcon": "places-24", // иконка связанного каталога"recordId": "1", // идентификатор связанной записи"recordTitle": "Москва" // текстовое наименование связанной записи},"privilegeCode": "edit"}]}]
В примере выше три правила:
«Все сотрудники» могут «видеть» все записи внутри всех каталогов отдела
Сотрудник со свойством {id: 1} может «администрировать» отдел и все каталоги внутри неё
Сотрудники со свойством «Город обслуживания» ("userAttr": "8") и значением {"Город"("catalogId": "34"): "Москва"("recordId": "1")} могут «редактировать» все записи внутри всех каталогов отдела
Подробнее о групповых правилах в статье «Правовые группы»
search — право видеть иконку каталога или отдела в меню, чтобы видеть некоторые записи внутри
view — право видеть все записи каталога (или во всех каталогов отдела)
edit — право редактировать все записи каталога (или каталогах отдела)
create — право создавать записи в каталоге (или каталогах отдела)
export — право выгружать в Excel записи каталога (или каталогов отдела)
delete — право удалять записи в каталоге (или каталогах отдела)
access — право задавать права на записи в каталоге (или каталогах отдела)
admin — право изменять отдел, создавать или менять структуру каталогов
Подробнее о привилегиях в статье «Привилегии»
URL: {domain}/api/v1/rights
В примере, создаются (или перезатираются) права на отдел 1 (sectionId: 1). Операция удаляет все ранее существующие правила на объект.
Метод: POST
Запрос: (application/json)
{"object": {"sectionId": "1"},"rules": [{"rightSubject": { // правило"userAttr": "allUsers", // для всех сотрудников"catalogId": null,"recordId": null},"privilegeCode": "view"},{"rightSubject": { // правило для сотрудника"userAttr": "id", // c идентификатором"catalogId": "3","recordId": "1" // один},"privilegeCode": "admin"},{"rightSubject": { // правило для сотрудников"userAttr": "8", // у кого в 8 поле анкеты сотрудника (связанный объект)"catalogId": "34", // выбрана запись из 34 каталога"recordId": "1" // c номером 1},"privilegeCode": "edit"}]}
В ходе создания правил могут автоматически создасться правила с привилегиями search на родительских объектах. Для записи или вида — это каталог и отдел, для каталога — отдел.
Ответ: 200 OK (application/json)