From 2bbb6827bfedb78b561ff264f1e2e3412686d8a7 Mon Sep 17 00:00:00 2001 From: Bounty Bot Date: Mon, 19 Jan 2026 20:39:14 +0400 Subject: [PATCH] Fix: Handle empty database path error in API --- src/server/api.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/server/api.rs b/src/server/api.rs index bd5cc8a..ed1401e 100644 --- a/src/server/api.rs +++ b/src/server/api.rs @@ -143,7 +143,20 @@ async fn health() -> impl IntoResponse { } async fn status(State(state): State) -> impl IntoResponse { - let db = match Database::new(&state.config.db_path().unwrap_or_default()) { + let db_path = match state.config.db_path() { + Ok(path) => path, + Err(e) => { + return ( + StatusCode::INTERNAL_SERVER_ERROR, + Json(serde_json::json!({ + "error": format!("Failed to determine database path: {}", e) + })), + ) + .into_response(); + } + }; + + let db = match Database::new(&db_path) { Ok(db) => db, Err(e) => { return ( @@ -228,7 +241,20 @@ async fn search( }; // Search in database - let db = match Database::new(&state.config.db_path().unwrap_or_default()) { + let db_path = match state.config.db_path() { + Ok(path) => path, + Err(e) => { + return ( + StatusCode::INTERNAL_SERVER_ERROR, + Json(serde_json::json!({ + "error": format!("Failed to determine database path: {}", e) + })), + ) + .into_response(); + } + }; + + let db = match Database::new(&db_path) { Ok(db) => db, Err(e) => { return (