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

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-объект.


Связанные статьи: