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.
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)
}