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