smbcloud_cli/project/
mod.rs

1pub mod cli;
2pub mod crud_create;
3pub mod crud_delete;
4pub mod crud_read;
5mod deployment;
6
7use self::cli::Commands;
8use crate::{
9    cli::CommandResult,
10    project::{
11        crud_create::process_project_init,
12        crud_delete::process_project_delete,
13        crud_read::{process_project_list, process_project_show, process_project_use},
14        deployment::process_deployment,
15    },
16};
17use anyhow::Result;
18use smbcloud_networking::environment::Environment;
19
20pub async fn process_project(env: Environment, commands: Commands) -> Result<CommandResult> {
21    match commands {
22        Commands::New {} => process_project_init(env).await,
23        Commands::List {} => process_project_list(env).await,
24        Commands::Show { id } => process_project_show(env, id).await,
25        Commands::Delete { id } => process_project_delete(env, id).await,
26        Commands::Use { id } => process_project_use(env, id).await,
27        Commands::Deployment { id } => process_deployment(env, id).await,
28    }
29}