Изменение настроек проекта
Данный метод позволяет менять настройки проекта.
Обратите внимание, что для выполнения операции необходимы соответствующие права на проект.
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"
}
}
|