use clap::Subcommand;
#[derive(Subcommand, Debug)]
pub enum ConfigAction {
Show,
Get { key: String },
Set { key: String, values: Vec<String> },
}
#[derive(Subcommand, Debug)]
pub enum RemoteAction {
Test,
Folders,
}
#[derive(Subcommand, Debug)]
pub enum TriageAction {
List,
}
#[derive(Subcommand, Debug)]
pub enum PushAction {
List,
Drafts {
#[arg(long)]
dry_run: bool,
#[arg(long)]
confirm: bool,
},
DraftsSend {
#[arg(long)]
dry_run: bool,
#[arg(long)]
confirm: bool,
},
Archive {
#[arg(long)]
dry_run: bool,
#[arg(long)]
confirm: bool,
},
Spam {
#[arg(long)]
dry_run: bool,
#[arg(long)]
confirm: bool,
},
Trash {
#[arg(long)]
dry_run: bool,
#[arg(long)]
confirm: bool,
},
}
#[derive(Subcommand, Debug)]
pub enum DoctorAction {
Repair {
#[arg(long)]
confirm: bool,
},
}
#[derive(Subcommand, Debug, Clone)]
pub enum PurgeAction {
Spam {
#[arg(long = "older-than-days", value_name = "DAYS")]
older_than_days: Option<u64>,
},
Trash {
#[arg(long = "older-than-days", value_name = "DAYS")]
older_than_days: Option<u64>,
},
Deleted {
#[arg(long = "older-than-days", value_name = "DAYS")]
older_than_days: Option<u64>,
},
}
#[derive(Subcommand, Debug)]
pub enum RenderAction {
Refresh,
Templates {
#[arg(long)]
force: bool,
},
}
#[derive(Subcommand, Debug)]
pub enum LogAction {
List {
#[arg(long, default_value_t = 50)]
limit: usize,
},
Tail,
Message { message_id: String },
Case { case_uid: String },
Archive { archive_uid: String },
}