From 0feb8f574a8053bfc978d655b7e8d5f21b40f2a9 Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Sat, 16 Aug 2025 12:12:55 -0300 Subject: [PATCH] feat: add database initialization and mode handling logic Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) --- src/main.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 4f84d73..79f682b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -159,4 +159,25 @@ fn main() -> Result<(), Error> { db_path.push("keep-1.db"); debug!("MAIN: Data directory: {:?}", data_path); - debug!("MAIN: DB file: {:?}", db_path); \ No newline at end of file + debug!("MAIN: DB file: {:?}", db_path); + + // Ensure data directory exists + fs::create_dir_all(&data_path) + .with_context(|| format!("Unable to create data directory {:?}", data_path))?; + + // Initialize database + let mut conn = db::init(&db_path)?; + + match mode { + KeepModes::Save => modes::save::mode_save(&mut cmd, &settings, ids, tags, &mut conn, data_path), + KeepModes::Get => modes::get::mode_get(&mut cmd, &settings, ids, tags, &mut conn, data_path), + KeepModes::Diff => modes::diff::mode_diff(&mut cmd, &settings, &settings, ids, tags, &mut conn, data_path), + KeepModes::List => modes::list::mode_list(&mut cmd, &settings, ids, tags, &mut conn, data_path), + KeepModes::Delete => modes::delete::mode_delete(&mut cmd, &settings, &settings, ids, tags, &mut conn, data_path), + KeepModes::Update => modes::update::mode_update(&mut cmd, &settings, ids, tags, &mut conn, data_path), + KeepModes::Info => modes::info::mode_info(&mut cmd, &settings, ids, tags, &mut conn, data_path), + KeepModes::Status => modes::status::mode_status(&mut cmd, &settings, data_path, db_path), + KeepModes::Server => modes::server::mode_server(&mut cmd, &settings, &mut conn, data_path), + KeepModes::Unknown => unreachable!(), + } +}