move method

Future<Task> move(
  1. String tasklist,
  2. String task, {
  3. String? destinationTasklist,
  4. String? parent,
  5. String? previous,
  6. String? $fields,
})

Moves the specified task to another position in the destination task list.

If the destination list is not specified, the task is moved within its current list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks. A user can have up to 2,000 subtasks per task.

Request parameters:

tasklist - Task list identifier.

task - Task identifier.

destinationTasklist - Optional. Destination task list identifier. If set, the task is moved from tasklist to the destinationTasklist list. Otherwise the task is moved within its current list. Recurrent tasks cannot currently be moved between lists.

parent - Optional. New parent task identifier. If the task is moved to the top level, this parameter is omitted. The task set as parent must exist in the task list and can not be hidden. Exceptions: 1. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). 2. Tasks that are both completed and hidden cannot be nested, so the parent field must be empty.

previous - Optional. New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. The task set as previous must exist in the task list and can not be hidden. Exceptions: 1. Tasks that are both completed and hidden can only be moved to position 0, so the previous field must be empty.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Task.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Task> move(
  core.String tasklist,
  core.String task, {
  core.String? destinationTasklist,
  core.String? parent,
  core.String? previous,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (destinationTasklist != null)
      'destinationTasklist': [destinationTasklist],
    if (parent != null) 'parent': [parent],
    if (previous != null) 'previous': [previous],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'tasks/v1/lists/' +
      commons.escapeVariable('$tasklist') +
      '/tasks/' +
      commons.escapeVariable('$task') +
      '/move';

  final response_ = await _requester.request(
    url_,
    'POST',
    queryParams: queryParams_,
  );
  return Task.fromJson(response_ as core.Map<core.String, core.dynamic>);
}