Skip to main content

clone_task

Function clone_task 

Source
pub fn clone_task(
    queue: &mut QueueFile,
    done: Option<&QueueFile>,
    opts: &CloneTaskOptions<'_>,
) -> Result<(String, Task)>
Expand description

Clone an existing task to create a new task with the same fields.

The cloned task will have:

  • A new task ID (generated using the provided prefix/width)
  • Fresh timestamps (created_at, updated_at = now)
  • Cleared completed_at
  • Status set to the provided value (default: Draft)
  • Cleared depends_on (to avoid unintended dependencies)
  • Optional title prefix applied

§Arguments

  • queue - The active queue to insert the cloned task into
  • done - Optional done queue to search for source task
  • opts - Clone options (source_id, status, title_prefix, now_utc, id_prefix, id_width, max_depth)

§Returns

A tuple of (new_task_id, cloned_task)