use strum::{EnumDiscriminants, EnumIter, EnumMessage};
mod delete;
mod set;
mod view;
#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
#[interactive_clap(context = near_cli_rs::GlobalContext)]
pub struct Data {
#[interactive_clap(subcommand)]
data_command: DataCommand,
}
#[derive(Debug, EnumDiscriminants, Clone, interactive_clap::InteractiveClap)]
#[interactive_clap(context = near_cli_rs::GlobalContext)]
#[strum_discriminants(derive(EnumMessage, EnumIter))]
pub enum DataCommand {
#[strum_discriminants(strum(message = "view - Viewing information by a given key"))]
View(self::view::View),
#[strum_discriminants(strum(
message = "set - Adding or updating information by a given key"
))]
Set(self::set::Set),
#[strum_discriminants(strum(message = "delete - Deleting information by a given key"))]
Delete(self::delete::Delete),
}