use clap::Subcommand;
#[derive(Subcommand, Debug)]
pub enum MessageAction {
Show {
message_id: String,
},
Archive {
message_id: String,
archive_ref: String,
#[arg(long)]
summary: String,
#[arg(long)]
reason: Option<String>,
},
Spam {
message_id: String,
#[arg(long)]
reason: Option<String>,
},
Unspam {
message_id: String,
#[arg(long)]
reason: Option<String>,
},
Trash {
message_id: String,
#[arg(long)]
reason: Option<String>,
},
Untrash {
message_id: String,
#[arg(long)]
reason: Option<String>,
},
Unarchive {
message_id: String,
#[arg(long)]
reason: Option<String>,
},
Attachment {
#[command(subcommand)]
action: MessageAttachmentAction,
},
}
#[derive(Subcommand, Debug)]
pub enum MessageAttachmentAction {
Fetch {
message_id: String,
part_id: Option<String>,
},
}