use crate::{
cli::global::json_output, commands::context::VaultContext, domain::model::DotLockResult,
storage::secrets_lock::list_secrets, utils::print_secrets_table,
};
pub fn run() -> DotLockResult<()> {
let _ = VaultContext::unlock()?;
let mut entries = list_secrets()?;
entries.sort_by(|a, b| a.name.cmp(&b.name));
if json_output() {
let items: Vec<serde_json::Value> = entries
.iter()
.map(|entry| serde_json::json!({ "id": entry.id, "name": entry.name }))
.collect();
println!("{}", serde_json::Value::Array(items));
return Ok(());
}
print_secrets_table(&entries);
Ok(())
}