fix: use BacklogNotFound error instead of KeyNotFound for missing backlogs
get_by_name was reusing KeyNotFound which gave a confusing error
message ('no key matching prefix') when a backlog didn't exist.
change xqlsqqmlpyqzlzpuonvsrprqvzmvntsn
commit 0d43960f07706187b73a21b6242cd48f5222f52c
author Alpha Chen <alpha@kejadlen.dev>
date
parent nyklvmzy
diff --git a/src/error.rs b/src/error.rs
index 664d3ed..3017f7e 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -9,6 +9,8 @@ pub enum RangerError {
         task_state: String,
         anchor_state: String,
     },
+    #[error("backlog not found: '{0}'")]
+    BacklogNotFound(String),
     #[error("adding this edge would create a cycle")]
     CycleDetected,
     #[error("task already has an outgoing 'before' edge")]
diff --git a/src/ops/backlog.rs b/src/ops/backlog.rs
index de8c93b..8466557 100644
--- a/src/ops/backlog.rs
+++ b/src/ops/backlog.rs
@@ -28,7 +28,7 @@ pub async fn get_by_name(conn: &mut SqliteConnection, name: &str) -> Result<Back
     .bind(name)
     .fetch_optional(&mut *conn)
     .await?
-    .ok_or_else(|| RangerError::KeyNotFound(name.to_string()))?;
+    .ok_or_else(|| RangerError::BacklogNotFound(name.to_string()))?;
     Ok(backlog)
 }