use clap::Subcommand;
#[derive(Subcommand, Debug)]
pub enum AppsCommands {
List,
Info {
#[arg(long)]
id: String
},
Delete {
#[arg(long)]
id: String
},
ListPresets,
ListVcsProviders,
ListRepositories {
#[arg(long)]
provider_id: String
},
Create(Box<AppCreateArgs>)
}
#[derive(clap::Args, Debug)]
pub struct AppCreateArgs {
#[arg(long)]
pub name: String,
#[arg(long)]
pub comment: Option<String>,
#[arg(long)]
pub provider_id: String,
#[arg(long)]
pub repository_id: String,
#[arg(long)]
pub preset_id: i64,
#[arg(long = "type")]
pub app_type: String,
#[arg(long)]
pub framework: String,
#[arg(long, default_value = "main")]
pub branch: String,
#[arg(long)]
pub commit_sha: Option<String>,
#[arg(long)]
pub build_cmd: Option<String>,
#[arg(long)]
pub run_cmd: Option<String>,
#[arg(long)]
pub index_dir: Option<String>,
#[arg(long)]
pub auto_deploy: bool,
#[arg(long)]
pub project_id: Option<i64>
}