use anyhow::Result;
use clap::Subcommand;
use serde_json::json;
use crate::client;
#[derive(Debug, Subcommand)]
pub enum BackupCmd {
Create,
}
pub fn run(cmd: BackupCmd) -> Result<()> {
match cmd {
BackupCmd::Create => create(),
}
}
fn create() -> Result<()> {
let (cli, _cfg) = client::authenticated()?;
let data = cli.execute("mutation { createBackupSnapshot }", json!({}))?;
let path = data["createBackupSnapshot"]
.as_str()
.unwrap_or("(no path returned)");
println!("Snapshot written to {path}");
Ok(())
}