PUT /move
Описание
Перемещает задачу в указанную позицию и возвращает пустой json-объект
Маршрут обрабатывает PUT-запрос к пути /move/{id}.
Подробнее о доступных операциях см. описание свойства operation, передаваемого в теле запроса (раздел Payload ниже).
| HTTP-метод | Маршрут | Query-параметр |
|---|---|---|
| PUT | /move | id |
Query-параметры
Query-параметр передаётся в строке запроса:
| Имя | Тип | Описание |
|---|---|---|
id | number | Обязательный. ID перемещаемой задачи. При перемещении нескольких задач значение id должно быть равно 0. |
При перемещении нескольких задач убедитесь, что id равен 0, иначе (если задано другое значение) будет перемещена только одна задача с этим ID.
Payload
Сервер ожидает получить json-объект со следующими свойствами:
| Имя | Тип | Описание |
|---|---|---|
id | number | Необязательный. ID перемещаемой задачи. Параметр обязателен для типов операций indent/unindent. |
parent | number | Необязательный. ID родительской задачи. |
project | number | Необязательный. ID проекта, к которому относится задача. |
targetId | number | Необязательный. ID целевой задачи, на место которой будет вставлена перемещаемая задача. |
operation | string | Обязательный. Серверный параметр, указывающий тип операции. Доступные типы операций: "null" — перемещает задачу в указанную позицию внутри текущего проекта (см. "move-task"), "indent", "unindent", "project" — перемещает задачу в другой проект (см. "move-task").Если задача перемещается внутри одного проекта (operation === null), свойство operation в payload не обязательно. |
reverse | boolean | Необязательный. Позиция, куда будет перемещена задача: перед целевой задачей (true) или после неё (false по умолчанию). |
batch | object | Обязательный. Массив ID всех перемещаемых задач. Если у задачи есть дочерние элементы, в объект включается только ID родительской задачи. |
Пример:
{
"id": 5,
"targetId": 2,
"reverse": false,
"operation": null,
"batch": null
}
Примеры различных типов операций:
Details
operation === null
При перемещении одной задачи внутри текущего проекта её ID передаётся в строке запроса, а остальные свойства — в теле запроса.Если задача перемещается внутри одного проекта, свойство operation в payload не обязательно.
Пример payload:
{
"targetId": 1,
"reverse": true,
"batch": null
}
Для перемещения нескольких задач внутри одного проекта:
- В строке запроса установите значение ID задачи равным 0
- В теле запроса добавьте свойство
batchс ID перемещаемых задач - Добавьте в тело запроса остальные необходимые свойства
Пример payload:
{
"targetId": 1,
"reverse": true,
"batch": [1, 2, 3]
}
Details
operation === "indent" || operation === "unindent"
При выполнении одной операцииindent/unindent ID задачи передаётся в строке запроса, а остальные свойства — в теле запроса.Пример:
{
"parent": 2,
"targetId": 2,
"operation": "indent"
}
множественные операции indent/unindent
При выполнении операции indent или unindent для нескольких задач значение ID в строке запроса устанавливается равным 0, а ID каждой задачи вместе с остальными параметрами должен быть перечислен в массиве opbatch объектов задач.
Иными словами, для перемещения нескольких задач json-объект в теле запроса должен содержать массив opbatch с объектами задач и данными операций.
Пример:
{
"opbatch": [
{
"id": 1,
"parent": 3,
"targetId": 3,
"operation": "indent"
},
{
"id": 53,
"parent": 3,
"targetId": 3,
"operation": "indent"
}
]
}
operation === "project"
Для перемещения одной задачи в другой проект:
- Передайте ID задачи как query-параметр в строке запроса
ИЛИ
Установите этот query-параметр равным 0 и добавьте ID задачи как значение свойстваbatchв теле запроса - В теле запроса:
- Установите значение свойства
operationравнымproject - Добавьте значение свойства
project— ID проекта, в который перемещается задача - Добавьте ID задачи как значение свойства
batch, если ID в строке запроса равен 0
- Установите значение свойства
Пример:
{
"project": 2,
"operation": "project",
"batch": [3]
}
При перемещении нескольких задач в другой проект значение ID в строке запроса устанавливается равным 0, а все ID задач указываются в массиве batch.
При перемещении задачи с дочерними элементами в массиве batch указывается только ID родительской задачи.
Свойство batch может содержать любое количество ID задач.
Пример:
{
"project": 2,
"operation": "project",
"batch": [3, 5, 8, 9]
}
Ответ
HTTP-код статуса показывает, выполнен ли запрос успешно (response.status == 200) или завершился ошибкой (response.status == 500).
В случае успеха возвращается пустой json-объект.
Связанные статьи: