bos-cli 0.3.2

Command line utility helps to develop widgets for near.social by allowing developers to use standard developer tools like their best code editor and standard tools for source code version control, and then deploy their widgets to SocialDB in one command.
use strum::{EnumDiscriminants, EnumIter, EnumMessage};

mod permissions;
mod prepaid_storage;

#[derive(Debug, Clone, interactive_clap::InteractiveClap)]
#[interactive_clap(context = crate::GlobalContext)]
pub struct SocialDb {
    #[interactive_clap(subcommand)]
    social_db_command: SocialDbCommand,
}

#[derive(Debug, EnumDiscriminants, Clone, interactive_clap::InteractiveClap)]
#[interactive_clap(context = crate::GlobalContext)]
#[strum_discriminants(derive(EnumMessage, EnumIter))]
/// What are you up to? (select one of the options with the up-down arrows on your keyboard and press Enter)
pub enum SocialDbCommand {
    #[strum_discriminants(strum(
        message = "prepaid-storage   -   Storage management: deposit, withdrawal, balance review"
    ))]
    /// Storage management: deposit, withdrawal, balance review
    PrepaidStorage(self::prepaid_storage::PrepaidStorage),
    #[strum_discriminants(strum(
        message = "permissions       -   Granting access permissions to a different account"
    ))]
    /// Granting access permissions to a different account
    Permissions(self::permissions::Permissions),
}