smbcloud_cli/cli/
mod.rs

1use crate::{account, project};
2use clap::{Parser, Subcommand};
3use spinners::Spinner;
4
5pub struct CommandResult {
6    pub spinner: Spinner,
7    pub symbol: String,
8    pub msg: String,
9}
10
11#[derive(Parser)]
12#[clap(author, version, about)]
13pub struct Cli {
14    /// Log level: trace, debug, info, warn, error, off
15    #[clap(short, long, global = true)]
16    pub log_level: Option<String>,
17
18    #[clap(subcommand)]
19    pub command: Commands,
20}
21
22#[derive(Subcommand)]
23pub enum Commands {
24    #[clap(about = "Manage your account.")]
25    Account {
26        #[clap(subcommand)]
27        command: account::cli::Commands,
28    },
29
30    #[clap(about = "Manage your projects. Add, delete, edit. Need authentication.")]
31    Project {
32        #[clap(subcommand)]
33        command: project::cli::Commands,
34    },
35    #[clap(about = "Deploy project. It will use deploy.sh script in the .smb folder.")]
36    Deploy { },
37}