Skip to main content

handle_task_list_set

Function handle_task_list_set 

Source
pub async fn handle_task_list_set<B: TasksBackend>(
    backend: &B,
    caller: &B::CallerCtx,
    args: Value,
) -> Result<(Value, Vec<Invocation>), JmapError>
Expand description

Handle a TaskList/set method call (draft-tasks-06 §3.7).

args is the RFC 8620 §5.3 /set request shape (accountId, optional ifInState, optional create / update / destroy maps) plus the draft-tasks-06 §3.7 onDestroyRemoveTasks extension argument (default: false); the returned Value is the §5.3 /set response shape (accountId, oldState, newState, plus the per-operation result maps).

The onDestroyRemoveTasks argument (default: false) controls whether tasks in a task list are cascade-destroyed when the list is destroyed. If false and the list has tasks, the destroy is rejected with a taskListHasTask SetError.

Returns (response_args, extra_invocations). The extra list is always empty.