smbcloud_cli/project/
process.rs

1use 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}