From ff5d37074d95f51e68dde7771f8fdb675dbd9bd5 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 14 Dec 2018 08:28:56 +0100 Subject: [PATCH] bin/backup-client.rs: nbew tool to play with chunk store --- src/bin/backup-client.rs | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/bin/backup-client.rs diff --git a/src/bin/backup-client.rs b/src/bin/backup-client.rs new file mode 100644 index 00000000..adab220e --- /dev/null +++ b/src/bin/backup-client.rs @@ -0,0 +1,41 @@ +extern crate apitest; + +use failure::*; + +use std::collections::HashMap; + +use apitest::cli::command::*; +use apitest::api::schema::*; +use apitest::api::router::*; +use apitest::backup::chunk_store::*; +use serde_json::{json, Value}; +use std::path::{Path, PathBuf}; + +use apitest::config::datastore; + +fn backup_file(param: Value, _info: &ApiMethod) -> Result { + + println!("Backup file '{}'", param["filename"].as_str().unwrap()); + + Ok(Value::Null) +} + + +fn main() { + + let cmd_def = CliCommand::new( + ApiMethod::new( + backup_file, + ObjectSchema::new("Create backup from file.") + .required("filename", StringSchema::new("Source file name.")) + .required("store", StringSchema::new("Datastore name.")) + )) + .arg_param(vec!["filename"]); + + if let Err(err) = run_cli_command(&cmd_def.into()) { + eprintln!("Error: {}", err); + print_cli_usage(); + std::process::exit(-1); + } + +}