use crate::cli::commands;
use crate::cli::error::{CliResult, ErrorFactory};
use crate::commands::run_cloudflare;
use crate::logging::log_error;
pub async fn handle_cloudflare(cmd: commands::CloudflareCmd, debug: bool) -> CliResult<()> {
if let Err(error) = run_cloudflare(cmd, debug).await {
let _ = log_error(
"cloudflare",
"Cloudflare workflow command failed",
Some(&error),
)
.await;
return Err(ErrorFactory::operation(
"cloudflare",
"run Cloudflare Worker + Container workflow",
error,
Some(
"Use `xbp cloudflare doctor --app <name>` to validate the project contract, Wrangler config, required secrets, and container binding shape.",
),
));
}
Ok(())
}