use crate::models::identifier_model::Identifier;
use clap::Subcommand;
#[derive(Subcommand)]
pub enum Commands {
Add {
#[arg(short, long)]
key: String,
#[arg(short, long)]
prefix: String,
#[arg(short, long)]
description: String,
#[arg(last(true))]
body: Vec<String>,
},
Rm { key: String },
Edit {
#[arg(short, long)]
key: String,
#[arg(short, long)]
prefix: Option<String>,
#[arg(short, long)]
description: Option<String>,
#[arg(last(true))]
body: Option<Vec<String>>,
},
Ls {
#[arg(value_enum)]
list_option: Identifier,
},
Show { key: String },
Search {
#[arg(value_enum)]
id: Option<Identifier>,
#[arg(last(true))]
name: String,
},
Config { path: Option<String> },
UpdateKey {
#[arg(short, long)]
old_key: String,
#[arg(short, long)]
new_key: String,
},
}