use crate::output::{OutputFormat, print_output};
use anyhow::Result;
use clap::Args;
use grr_gmail::GmailClient;
use std::path::Path;
use tokio_util::io::ReaderStream;
#[derive(Args, Debug)]
pub struct ImportArgs {
pub file: String,
#[arg(long)]
pub deleted: bool,
#[arg(short, long, value_enum, default_value = "json")]
pub format: OutputFormat,
}
pub async fn handle_import_cmd(client: &GmailClient, args: ImportArgs) -> Result<()> {
let path = Path::new(&args.file);
let file = tokio::fs::File::open(path).await?;
let msg = client
.import_stream(ReaderStream::new(file), args.deleted)
.await?;
print_output(&msg, args.format)?;
Ok(())
}