smbcloud_cli/project/
mod.rs1pub 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}