Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

role.update

Описание

объект role.update(объект/массив roles)

Этот метод позволяет обновлять существующие роли.

Этот метод доступен для пользователей типа Super admin. Разрешения на вызов метода могут быть отозваны в настройках роли пользователя. Смотрите Роли пользователя для получения дополнительной информации.

Parameters

(object/array) Role properties to be updated.

The roleid property must be defined for each role, all other properties are optional. Only the passed properties will be updated, all others will remain unchanged.

Additionally to the standard role properties the method accepts the following parameters.

Parameter Type Description
rules array Access rules to replace the current access rules assigned to the role.

Возвращаемые значения

(object) Возвращает объект, содержащий идентификаторы обновлённых ролей, указанных в свойстве roleids.

Примеры

Disabling ability to execute scripts

Update role with ID "5", disable ability to execute scripts.

Request:

{
           "jsonrpc": "2.0",
           "method": "role.update",
           "params": [
               {
                   "roleid": "5",
                   "rules": {
                       "actions": [
                           {
                               "name": "execute_scripts",
                               "status": "0"
                           }
                       ]
                   }
               }
           ],
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "roleids": [
                   "5"
               ]
           },
           "id": 1
       }

Limiting access to API

Update role with ID "5", deny to call any "create", "update" or "delete" methods.

Request:

{
           "jsonrpc": "2.0",
           "method": "role.update",
           "params": [
               {
                   "roleid": "5",
                   "rules": {
                       "api.access": "1",
                       "api.mode": "0",
                       "api": ["*.create", "*.update", "*.delete"]
                   }
               }
           ],
           "auth": "3a57200802b24cda67c4e4010b50c065",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "roleids": [
                   "5"
               ]
           },
           "id": 1
       }

Исходный код

CRole::update() в ui/include/classes/api/services/CRole.php.