refactor(storage): extract task_row_from helper — consistent with transcript_row_from pattern
This commit is contained in:
@@ -293,18 +293,7 @@ pub async fn list_tasks(pool: &SqlitePool) -> Result<Vec<TaskRow>> {
|
|||||||
|
|
||||||
Ok(rows
|
Ok(rows
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|r| TaskRow {
|
.map(task_row_from)
|
||||||
id: r.get("id"),
|
|
||||||
text: r.get("text"),
|
|
||||||
bucket: r.get("bucket"),
|
|
||||||
list_id: r.get("list_id"),
|
|
||||||
effort: r.get("effort"),
|
|
||||||
done: r.get("done"),
|
|
||||||
done_at: r.get("done_at"),
|
|
||||||
created_at: r.get("created_at"),
|
|
||||||
source_transcript_id: r.get("source_transcript_id"),
|
|
||||||
parent_task_id: r.get("parent_task_id"),
|
|
||||||
})
|
|
||||||
.collect())
|
.collect())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,18 +307,7 @@ pub async fn get_task_by_id(pool: &SqlitePool, id: &str) -> Result<Option<TaskRo
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| KonError::StorageError(format!("Get task failed: {e}")))?;
|
.map_err(|e| KonError::StorageError(format!("Get task failed: {e}")))?;
|
||||||
|
|
||||||
Ok(row.map(|r| TaskRow {
|
Ok(row.map(task_row_from))
|
||||||
id: r.get("id"),
|
|
||||||
text: r.get("text"),
|
|
||||||
bucket: r.get("bucket"),
|
|
||||||
list_id: r.get("list_id"),
|
|
||||||
effort: r.get("effort"),
|
|
||||||
done: r.get("done"),
|
|
||||||
done_at: r.get("done_at"),
|
|
||||||
created_at: r.get("created_at"),
|
|
||||||
source_transcript_id: r.get("source_transcript_id"),
|
|
||||||
parent_task_id: r.get("parent_task_id"),
|
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn insert_subtask(
|
pub async fn insert_subtask(
|
||||||
@@ -361,18 +339,7 @@ pub async fn list_subtasks(pool: &SqlitePool, parent_id: &str) -> Result<Vec<Tas
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| KonError::StorageError(format!("List subtasks failed: {e}")))?;
|
.map_err(|e| KonError::StorageError(format!("List subtasks failed: {e}")))?;
|
||||||
|
|
||||||
Ok(rows.into_iter().map(|r| TaskRow {
|
Ok(rows.into_iter().map(task_row_from).collect())
|
||||||
id: r.get("id"),
|
|
||||||
text: r.get("text"),
|
|
||||||
bucket: r.get("bucket"),
|
|
||||||
list_id: r.get("list_id"),
|
|
||||||
effort: r.get("effort"),
|
|
||||||
done: r.get("done"),
|
|
||||||
done_at: r.get("done_at"),
|
|
||||||
created_at: r.get("created_at"),
|
|
||||||
source_transcript_id: r.get("source_transcript_id"),
|
|
||||||
parent_task_id: r.get("parent_task_id"),
|
|
||||||
}).collect())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Mark a subtask done. If all siblings are now done, auto-complete the parent.
|
/// Mark a subtask done. If all siblings are now done, auto-complete the parent.
|
||||||
@@ -508,6 +475,21 @@ fn transcript_row_from(r: &sqlx::sqlite::SqliteRow) -> TranscriptRow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn task_row_from(r: sqlx::sqlite::SqliteRow) -> TaskRow {
|
||||||
|
TaskRow {
|
||||||
|
id: r.get("id"),
|
||||||
|
text: r.get("text"),
|
||||||
|
bucket: r.get("bucket"),
|
||||||
|
list_id: r.get("list_id"),
|
||||||
|
effort: r.get("effort"),
|
||||||
|
done: r.get("done"),
|
||||||
|
done_at: r.get("done_at"),
|
||||||
|
created_at: r.get("created_at"),
|
||||||
|
source_transcript_id: r.get("source_transcript_id"),
|
||||||
|
parent_task_id: r.get("parent_task_id"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --- Error Logging ---
|
// --- Error Logging ---
|
||||||
|
|
||||||
/// Log a structured error to the `error_log` table.
|
/// Log a structured error to the `error_log` table.
|
||||||
|
|||||||
Reference in New Issue
Block a user