diff --git a/src/main.rs b/src/main.rs index e38f94d..ad54123 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,6 +22,7 @@ Usage: foil get [--db=] foil list [--db=] foil transfer [--db=] + foil dump [--db=] foil generate foil (-h | --help) @@ -38,6 +39,7 @@ struct Args { cmd_list: bool, cmd_generate: bool, cmd_transfer: bool, + cmd_dump: bool, flag_db: Option, arg_spec: Option, } @@ -142,6 +144,16 @@ fn set(mut db_conn: db::DbHandle, master_key: [u8; 32]) { println!("Successfully added password"); } +fn dump(mut db_conn: db::DbHandle, master_key: [u8; 32]) { + for note in db_conn.read_notes(master_key).unwrap() { + println!("===== note ====="); + println!("namespace: {}", note.namespace); + println!("category: {}", note.category); + println!("title: {}", note.title); + println!("{}", note.value); + } +} + fn transfer(mut db_conn: db::DbHandle, master_key: [u8; 32]) { for account in db_conn.list_accounts(master_key).into_iter() { let new_note = db::Note { @@ -150,7 +162,7 @@ fn transfer(mut db_conn: db::DbHandle, master_key: [u8; 32]) { category: "account".to_owned(), title: account.host, value: format!( - "username: {}\npassword:{}\n", + "username: {}\npassword: {}\n", account.user, account.password ), }; @@ -182,6 +194,8 @@ fn main() -> Result<(), Box> { list(db_conn, master_key); } else if args.cmd_transfer { transfer(db_conn, master_key); + } else if args.cmd_dump { + dump(db_conn, master_key); } Ok(())