Изменение настроек проекта

Данный метод позволяет менять настройки проекта.

Обратите внимание, что для выполнения операции необходимы соответствующие права на проект.

URL

/project/config/update

Метод

POST

Диапазон

project_edit

Тип ответа

sync

Параметры запроса

<отсутствуют>

Тело запроса (application/json)

{
  "prjUUID": "5bf66407-0de5-4870-817a-18b95b886403",
  "actions": [
    {
      "type": "update",
      "path": "General\/ProjectLocale",
      "value": "eng"
    }
  ]
}

где

Имя Тип Описание

prjUUID

строка

ID проекта.

actions

массив

Параметры, которые необходимо изменить.

prjUUID должен быть действительным ID проекта.

Массив actions состоит из следующих полей:

Имя Тип Описание

type

строка

Тип действия.

path

строка

Путь к параметру.

value

любой

Значение параметра.

Поле type должно иметь одно из следующих значений:

  • update – необходимо указать значение параметра;

  • insert – необходимо указать значение и позицию параметра;

  • erase – необходимо указать значение или позицию параметра;

  • swap – необходимо указать позиции параметров.

Обратите внимание, что типы insert и erase могут использоваться только для тех параметров, которые хранятся в виде списка, например, для параметра Variables вы можете задать имя переменной и указать позицию параметра (поле position) в списке:

{
  "prjUUID": "9a9ded53-f482-48b1-8d41-424c98c6725b",
  "actions": [
    {
      "type": "insert",
      "path": "Variables",
      "value": "my variable",
      "position": 0
    }
  ]
}

Для типа swap укажите позиции элементов, которые необходимо поменять местами (необходимо указать поля first и second). Обратите внимание, что тип swap также используется только для тех параметров, которые хранятся в виде списка.

{
  "prjUUID": "9a9ded53-f482-48b1-8d41-424c98c6725b",
  "actions": [
    {
      "type": "swap",
      "path": "Variables",
      "first": 1,
      "second": 3
    }
  ]
}

Другими словами, первый и третий элементы в списке параметров Variables поменяются местами.

Обратите внимание, что первый элемент списка параметров всегда имеет индекс 0.

Пример URL-запроса

https://your.polyanalyst.server:port/polyanalyst/api/v1.0/project/config/update

Тело ответа (application/json)

<отсутствует>

Примеры ответов

Код Тело ответа и его описание

200

Успех. Указанные настройки проекта будут изменены.

400

Ошибка – Неверный тип действия.

{
  "error": {
    "code": 400,
    "title": "",
    "message": "Invalid action: change"
  }
}

400

Ошибка – Необходимое поле не указано.

{
  "error": {
    "code": 400,
    "title": "",
    "message": "Field \"position\" not found"
  }
}

403

Ошибка – Эту операцию могут выполнить только администраторы сервера.

{
  "error": {
    "code": 403,
    "title": "",
    "message": "Access to this operation is limited to administrators"
  }
}

403

Ошибка – Ошибка авторизации.

{
  "error": {
    "code": 403,
    "title": "Authorization Required",
    "message": "You are not logged in to PolyAnalyst Server."
  }
}

403

Ошибка – Доступ запрещен (пользователь не является владельцем проекта или администратором).

{
  "error": {
    "code": 403,
    "title": "",
    "message": "Access to this operation is limited to project owners and administrators"
  }
}

500

Ошибка – Указанная позиция элемента находится вне списка.

{
  "error": {
    "code": 500,
    "title": "",
    "message": "invalid vector subscript"
  }
}

500

Ошибка – Указанные параметры не найдены.

{
  "error": {
    "code": 500,
    "title": "",
    "message": "Conf doesn't exist or has already been deleted: \"General\/ProectLocale\""
  }
}

500

Ошибка – Недостаточно прав (например, пользователь может быть владельцем проекта, но его права были ограничены администратором).

{
  "error": {
    "code": 500,
    "title": "access denied; Available rights: [read]; Required rights: [write];",
    "message": "Error: access denied while calling method lock project;\r\nAvailable rights: [read]; Required rights: [write];"
  }
}

500

Ошибка – Указанная позиция элемента находится вне списка.

{
  "error": {
    "code": 500,
    "title": "",
    "message": "invalid vector subscript"
  }
}