fix: remove unused config parameter in mode functions

Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-08-16 12:11:31 -03:00
parent 3f13e490b3
commit 5c66ac3d8a
9 changed files with 40 additions and 84 deletions

View File

@@ -3,7 +3,7 @@ use std::fs;
use anyhow::{Result, Context};
use serde::{Deserialize, Serialize};
use log::debug;
use crate::args::{Args, KeyValue};
use crate::args::{Args};
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ColumnConfig {
@@ -87,7 +87,7 @@ impl Settings {
ColumnConfig { name, label }
})
.collect();
config_builder = config_builder.set_override("list_format", columns)?;
config_builder = config_builder.set_override("list_format", serde_json::to_value(columns)?)?;
}
if args.options.human_readable {
@@ -95,7 +95,7 @@ impl Settings {
}
if let Some(output_format) = &args.options.output_format {
config_builder = config_builder.set_override("output_format", output_format)?;
config_builder = config_builder.set_override("output_format", output_format.as_str())?;
}
if args.options.verbose > 0 {
@@ -111,15 +111,15 @@ impl Settings {
}
if let Some(server_password) = &args.options.server_password {
config_builder = config_builder.set_override("server.password", server_password)?;
config_builder = config_builder.set_override("server.password", server_password.as_str())?;
}
if let Some(server_password_hash) = &args.options.server_password_hash {
config_builder = config_builder.set_override("server.password_hash", server_password_hash)?;
config_builder = config_builder.set_override("server.password_hash", server_password_hash.as_str())?;
}
if let Some(server_address) = &args.mode.server_address {
config_builder = config_builder.set_override("server.address", server_address)?;
config_builder = config_builder.set_override("server.address", server_address.as_str())?;
}
if let Some(server_port) = args.mode.server_port {
@@ -127,11 +127,11 @@ impl Settings {
}
if let Some(compression) = &args.item.compression {
config_builder = config_builder.set_override("compression_plugin.name", compression)?;
config_builder = config_builder.set_override("compression_plugin.name", compression.as_str())?;
}
if let Some(digest) = &args.item.digest {
config_builder = config_builder.set_override("digest", digest)?;
config_builder = config_builder.set_override("digest", digest.as_str())?;
}
if !args.item.meta_plugins.is_empty() {
@@ -139,7 +139,7 @@ impl Settings {
.iter()
.map(|name| MetaPluginConfig { name: name.clone() })
.collect();
config_builder = config_builder.set_override("meta_plugins", meta_plugins)?;
config_builder = config_builder.set_override("meta_plugins", serde_json::to_value(meta_plugins)?)?;
}
let config = config_builder.build()?;

View File

@@ -21,7 +21,6 @@ pub mod db;
pub mod plugins;
pub mod meta_plugin;
pub mod common;
//pub mod item;
extern crate term;
extern crate serde_json;
@@ -29,7 +28,7 @@ extern crate serde_yaml;
extern crate serde;
use args::{Args, NumberOrString};
use config::{Config, Settings};
use config::Settings;
/**
* Main function to handle command-line arguments and execute the appropriate mode.
@@ -138,7 +137,7 @@ fn main() -> Result<(), Error> {
}
// Validate server password usage
if settings.server_password.is_some() && mode != KeepModes::Server {
if settings.server_password().is_some() && mode != KeepModes::Server {
cmd.error(
ErrorKind::InvalidValue,
"--server-password can only be used with --server mode"
@@ -161,43 +160,3 @@ fn main() -> Result<(), Error> {
debug!("MAIN: Data directory: {:?}", data_path);
debug!("MAIN: DB file: {:?}", db_path);
fs::create_dir_all(data_path.clone()).context("Problem creating data directory")?;
debug!("MAIN: Data directory created or already exists");
let mut conn = db::open(db_path.clone()).context("Problem opening database")?;
debug!("MAIN: DB opened successfully");
match mode {
KeepModes::Save => {
crate::modes::save::mode_save(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::Get => {
crate::modes::get::mode_get(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::Diff => {
crate::modes::diff::mode_diff(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::List => {
crate::modes::list::mode_list(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::Update => {
crate::modes::update::mode_update(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::Info => {
crate::modes::info::mode_info(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::Delete => {
crate::modes::delete::mode_delete(&mut cmd, &settings, &config, ids, tags, &mut conn, data_path)?
}
KeepModes::Status => {
crate::modes::status::mode_status(&mut cmd, &settings, &config, data_path, db_path)?
}
KeepModes::Server => {
crate::modes::server::mode_server(&mut cmd, &settings, &config, &mut conn, data_path)?
}
KeepModes::Unknown => todo!(),
}
Ok(())
}

View File

@@ -12,7 +12,6 @@ use is_terminal::IsTerminal;
pub fn mode_get(
cmd: &mut Command,
settings: &config::Settings,
_config: &config::Settings,
ids: &mut Vec<i64>,
tags: &mut Vec<String>,
conn: &mut rusqlite::Connection,
@@ -25,9 +24,12 @@ pub fn mode_get(
}
let mut meta: std::collections::HashMap<String, String> = std::collections::HashMap::new();
for item in settings.meta.iter() {
let item = item.clone();
meta.insert(item.key, item.value);
// Collect metadata from environment variables
for (key, value) in std::env::vars() {
if key.starts_with("KEEP_META_") && key != "KEEP_META_PLUGINS" {
let meta_name = key.strip_prefix("KEEP_META_").unwrap();
meta.insert(meta_name.to_string(), value);
}
}
let item_maybe = match tags.is_empty() && meta.is_empty() {

View File

@@ -21,7 +21,6 @@ use prettytable::{Attr, Cell, Row, Table};
pub fn mode_info(
cmd: &mut Command,
settings: &config::Settings,
_config: &config::Settings,
ids: &mut Vec<i64>,
tags: &mut Vec<String>,
conn: &mut rusqlite::Connection,
@@ -34,9 +33,12 @@ pub fn mode_info(
}
let mut meta: std::collections::HashMap<String, String> = std::collections::HashMap::new();
for item in settings.meta.iter() {
let item = item.clone();
meta.insert(item.key, item.value);
// Collect metadata from environment variables
for (key, value) in std::env::vars() {
if key.starts_with("KEEP_META_") && key != "KEEP_META_PLUGINS" {
let meta_name = key.strip_prefix("KEEP_META_").unwrap();
meta.insert(meta_name.to_string(), value);
}
}
let item_maybe = match tags.is_empty() && meta.is_empty() {

View File

@@ -29,7 +29,6 @@ struct ListItem {
pub fn mode_list(
cmd: &mut clap::Command,
settings: &config::Settings,
_config: &config::Config,
ids: &mut Vec<i64>,
tags: &Vec<String>,
conn: &mut rusqlite::Connection,
@@ -44,9 +43,12 @@ pub fn mode_list(
}
let mut meta: std::collections::HashMap<String, String> = std::collections::HashMap::new();
for item in settings.meta.iter() {
let item = item.clone();
meta.insert(item.key, item.value);
// Collect metadata from environment variables
for (key, value) in std::env::vars() {
if key.starts_with("KEEP_META_") && key != "KEEP_META_PLUGINS" {
let meta_name = key.strip_prefix("KEEP_META_").unwrap();
meta.insert(meta_name.to_string(), value);
}
}
let items = match tags.is_empty() && meta.is_empty() {

View File

@@ -139,10 +139,8 @@ fn collect_item_meta(settings: &config::Settings) -> std::collections::HashMap<S
}
}
for item in settings.meta.iter() {
let item = item.clone();
item_meta.insert(item.key, item.value);
}
// Add any additional metadata from settings if needed
// (currently there's no direct metadata in settings, but this could be extended)
item_meta
}
@@ -232,7 +230,6 @@ fn finalize_meta_plugins(
pub fn mode_save(
cmd: &mut Command,
settings: &config::Settings,
_config: &config::Settings,
ids: &mut Vec<i64>,
tags: &mut Vec<String>,
conn: &mut rusqlite::Connection,

View File

@@ -3,7 +3,7 @@ use axum::{
Router,
};
use clap::Command;
use log::{debug, info, warn};
use log::{debug, info};
use std::net::SocketAddr;
use std::path::PathBuf;
use std::sync::Arc;
@@ -22,23 +22,22 @@ pub use common::{ServerConfig, AppState, logging_middleware, create_auth_middlew
pub fn mode_server(
_cmd: &mut Command,
settings: &config::Settings,
config: &config::Settings,
conn: &mut rusqlite::Connection,
data_path: PathBuf,
) -> Result<()> {
// Get server address from args or config with default
let server_address = if let Some(addr) = &settings.server_address {
let server_address = if let Some(addr) = &settings.server_address() {
addr.clone()
} else if let Some(server_config) = &config.server {
} else if let Some(server_config) = &settings.server {
server_config.address.clone().unwrap_or_else(|| "127.0.0.1".to_string())
} else {
"127.0.0.1".to_string()
};
// Get server port from args or config with default
let server_port = if let Some(port) = settings.server_port {
let server_port = if let Some(port) = settings.server_port() {
port
} else if let Some(server_config) = &config.server {
} else if let Some(server_config) = &settings.server {
server_config.port.unwrap_or(21080)
} else {
21080
@@ -47,8 +46,8 @@ pub fn mode_server(
let server_config = common::ServerConfig {
address: server_address,
port: Some(server_port),
password: settings.server_password.clone(),
password_hash: settings.server_password_hash.clone(),
password: settings.server_password(),
password_hash: settings.server_password_hash(),
};
// We need to move the connection into the async runtime

View File

@@ -123,7 +123,6 @@ fn build_meta_plugin_table(meta_plugin_info: &Vec<MetaPluginInfo>) -> Table {
pub fn mode_status(
_cmd: &mut Command,
settings: &config::Settings,
_config: &config::Settings,
data_path: PathBuf,
db_path: PathBuf,
) -> Result<(), anyhow::Error> {
@@ -145,7 +144,7 @@ pub fn mode_status(
}
// Determine which compression type would be enabled for a save operation
let enabled_compression_type = if let Some(compression_name) = &settings.compression {
let enabled_compression_type = if let Some(compression_name) = &settings.compression() {
CompressionType::from_str(compression_name).ok()
} else {
Some(crate::compression_engine::default_compression_type())

View File

@@ -15,7 +15,6 @@ use rusqlite::Connection;
pub fn mode_update(
cmd: &mut Command,
settings: &config::Settings,
_config: &config::Settings,
ids: &mut Vec<i64>,
tags: &mut Vec<String>,
conn: &mut Connection,
@@ -117,9 +116,6 @@ pub fn mode_update(
}
}
// Meta data is now in args.item.meta, not settings
// This functionality seems to have been moved elsewhere or removed
// Commit the transaction
tx.commit()?;