Перейти к основному содержимому

PUT /move

Описание

Перемещает задачу в указанную позицию и возвращает пустой json-объект

Маршрут обрабатывает PUT-запрос к пути /move/{id}. Подробнее о доступных операциях см. описание свойства operation, передаваемого в теле запроса (раздел Payload ниже).

HTTP-методМаршрутQuery-параметр
PUT/moveid

Query-параметры

Query-параметр передаётся в строке запроса:

ИмяТипОписание
idnumberОбязательный. ID перемещаемой задачи. При перемещении нескольких задач значение id должно быть равно 0.
К сведению

При перемещении нескольких задач убедитесь, что id равен 0, иначе (если задано другое значение) будет перемещена только одна задача с этим ID.

Payload

Сервер ожидает получить json-объект со следующими свойствами:

ИмяТипОписание
idnumberНеобязательный. ID перемещаемой задачи. Параметр обязателен для типов операций indent/unindent.
parentnumberНеобязательный. ID родительской задачи.
projectnumberНеобязательный. ID проекта, к которому относится задача.
targetIdnumberНеобязательный. ID целевой задачи, на место которой будет вставлена перемещаемая задача.
operationstringОбязательный. Серверный параметр, указывающий тип операции. Доступные типы операций: "null" — перемещает задачу в указанную позицию внутри текущего проекта (см. "move-task"), "indent", "unindent", "project" — перемещает задачу в другой проект (см. "move-task").
Если задача перемещается внутри одного проекта (operation === null), свойство operation в payload не обязательно.
reversebooleanНеобязательный. Позиция, куда будет перемещена задача: перед целевой задачей (true) или после неё (false по умолчанию).
batchobjectОбязательный. Массив 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-объект.


Полезные статьи: