diff options
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/backup.rs | 17 | ||||
-rw-r--r-- | src/cmd/gen_info.rs | 9 | ||||
-rw-r--r-- | src/cmd/inspect.rs | 9 | ||||
-rw-r--r-- | src/cmd/list.rs | 8 | ||||
-rw-r--r-- | src/cmd/list_files.rs | 8 | ||||
-rw-r--r-- | src/cmd/resolve.rs | 8 | ||||
-rw-r--r-- | src/cmd/restore.rs | 8 | ||||
-rw-r--r-- | src/cmd/show_gen.rs | 8 |
8 files changed, 66 insertions, 9 deletions
diff --git a/src/cmd/backup.rs b/src/cmd/backup.rs index 6983de4..db65da0 100644 --- a/src/cmd/backup.rs +++ b/src/cmd/backup.rs @@ -1,6 +1,7 @@ //! The `backup` subcommand. -use crate::backup_run::BackupRun; +use crate::backup_run::{current_timestamp, BackupRun}; +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::dbgen::{schema_version, FileId, DEFAULT_SCHEMA_MAJOR}; @@ -37,7 +38,12 @@ impl Backup { eprintln!("backup: schema: {}", schema); let client = BackupClient::new(config)?; - let genlist = client.list_generations().await?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, current_timestamp(), vec![]))) + .unwrap(); + let genlist = client.list_generations(&trust); let temp = tempdir()?; let oldtemp = temp.path().join("old.db"); @@ -64,6 +70,13 @@ impl Backup { } }; + let mut trust = trust; + trust.append_backup(outcome.gen_id.as_chunk_id()); + trust.finalize(current_timestamp()); + let trust = trust.to_data_chunk()?; + let trust_id = client.upload_chunk(trust).await?; + info!("uploaded new client-trust {}", trust_id); + for w in outcome.warnings.iter() { println!("warning: {}", w); } diff --git a/src/cmd/gen_info.rs b/src/cmd/gen_info.rs index 2ce1f64..0aec103 100644 --- a/src/cmd/gen_info.rs +++ b/src/cmd/gen_info.rs @@ -1,5 +1,6 @@ //! The `gen-info` subcommand. +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; @@ -28,7 +29,13 @@ impl GenInfo { let client = BackupClient::new(config)?; - let genlist = client.list_generations().await?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, "".to_string(), vec![]))) + .unwrap(); + + let genlist = client.list_generations(&trust); let gen_id = genlist.resolve(&self.gen_ref)?; info!("generation id is {}", gen_id.as_chunk_id()); diff --git a/src/cmd/inspect.rs b/src/cmd/inspect.rs index d5a75c6..02801ae 100644 --- a/src/cmd/inspect.rs +++ b/src/cmd/inspect.rs @@ -1,5 +1,7 @@ //! The `inspect` subcommand. +use crate::backup_run::current_timestamp; +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; @@ -27,7 +29,12 @@ impl Inspect { async fn run_async(&self, config: &ClientConfig) -> Result<(), ObnamError> { let temp = NamedTempFile::new()?; let client = BackupClient::new(config)?; - let genlist = client.list_generations().await?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, current_timestamp(), vec![]))) + .unwrap(); + let genlist = client.list_generations(&trust); let gen_id = genlist.resolve(&self.gen_id)?; info!("generation id is {}", gen_id.as_chunk_id()); diff --git a/src/cmd/list.rs b/src/cmd/list.rs index f176594..bbb9c91 100644 --- a/src/cmd/list.rs +++ b/src/cmd/list.rs @@ -1,5 +1,6 @@ //! The `list` subcommand. +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; @@ -19,8 +20,13 @@ impl List { async fn run_async(&self, config: &ClientConfig) -> Result<(), ObnamError> { let client = BackupClient::new(config)?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, "".to_string(), vec![]))) + .unwrap(); - let generations = client.list_generations().await?; + let generations = client.list_generations(&trust); for finished in generations.iter() { println!("{} {}", finished.id(), finished.ended()); } diff --git a/src/cmd/list_files.rs b/src/cmd/list_files.rs index 9126564..fb4764d 100644 --- a/src/cmd/list_files.rs +++ b/src/cmd/list_files.rs @@ -1,6 +1,7 @@ //! The `list-files` subcommand. use crate::backup_reason::Reason; +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; @@ -28,8 +29,13 @@ impl ListFiles { let temp = NamedTempFile::new()?; let client = BackupClient::new(config)?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, "".to_string(), vec![]))) + .unwrap(); - let genlist = client.list_generations().await?; + let genlist = client.list_generations(&trust); let gen_id = genlist.resolve(&self.gen_id)?; let gen = client.fetch_generation(&gen_id, temp.path()).await?; diff --git a/src/cmd/resolve.rs b/src/cmd/resolve.rs index 3b9570a..12432cc 100644 --- a/src/cmd/resolve.rs +++ b/src/cmd/resolve.rs @@ -1,5 +1,6 @@ //! The `resolve` subcommand. +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; @@ -22,7 +23,12 @@ impl Resolve { async fn run_async(&self, config: &ClientConfig) -> Result<(), ObnamError> { let client = BackupClient::new(config)?; - let generations = client.list_generations().await?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, "".to_string(), vec![]))) + .unwrap(); + let generations = client.list_generations(&trust); match generations.resolve(&self.generation) { Err(err) => { diff --git a/src/cmd/restore.rs b/src/cmd/restore.rs index 43d9679..4a637da 100644 --- a/src/cmd/restore.rs +++ b/src/cmd/restore.rs @@ -1,6 +1,7 @@ //! The `restore` subcommand. use crate::backup_reason::Reason; +use crate::chunk::ClientTrust; use crate::client::{BackupClient, ClientError}; use crate::config::ClientConfig; use crate::db::DatabaseError; @@ -46,8 +47,13 @@ impl Restore { let temp = NamedTempFile::new()?; let client = BackupClient::new(config)?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, "".to_string(), vec![]))) + .unwrap(); - let genlist = client.list_generations().await?; + let genlist = client.list_generations(&trust); let gen_id = genlist.resolve(&self.gen_id)?; info!("generation id is {}", gen_id.as_chunk_id()); diff --git a/src/cmd/show_gen.rs b/src/cmd/show_gen.rs index 006e0e0..970a165 100644 --- a/src/cmd/show_gen.rs +++ b/src/cmd/show_gen.rs @@ -1,5 +1,6 @@ //! The `show-generation` subcommand. +use crate::chunk::ClientTrust; use crate::client::BackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; @@ -27,8 +28,13 @@ impl ShowGeneration { async fn run_async(&self, config: &ClientConfig) -> Result<(), ObnamError> { let temp = NamedTempFile::new()?; let client = BackupClient::new(config)?; + let trust = client + .get_client_trust() + .await? + .or_else(|| Some(ClientTrust::new("FIXME", None, "".to_string(), vec![]))) + .unwrap(); - let genlist = client.list_generations().await?; + let genlist = client.list_generations(&trust); let gen_id = genlist.resolve(&self.gen_id)?; let gen = client.fetch_generation(&gen_id, temp.path()).await?; let mut files = gen.files()?; |