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 intodone- Optional done queue to search for source taskopts- Clone options (source_id, status, title_prefix, now_utc, id_prefix, id_width, max_depth)
§Returns
A tuple of (new_task_id, cloned_task)