use anyhow::Result;
use clap::Parser;
use crate::client::apis::configuration::BasicAuth;
#[derive(Parser, Debug)]
#[command(about = "Interactive terminal UI for managing workflows", long_about = None)]
pub struct Args {
#[arg(long)]
pub standalone: bool,
#[arg(long, default_value = "8080")]
pub port: u16,
#[arg(long)]
pub database: Option<String>,
#[arg(long, env = "TORC_TLS_CA_CERT")]
pub tls_ca_cert: Option<String>,
#[arg(long, env = "TORC_TLS_INSECURE")]
pub tls_insecure: bool,
}
pub fn run(args: &Args, basic_auth: Option<BasicAuth>) -> Result<()> {
#[cfg(feature = "tui")]
{
crate::tui::run(
args.standalone,
args.port,
args.database.clone(),
args.tls_ca_cert.clone(),
args.tls_insecure,
basic_auth,
)
}
#[cfg(not(feature = "tui"))]
{
let _ = args; let _ = basic_auth;
eprintln!("Error: TUI support was not compiled into this binary");
eprintln!("Please rebuild with --features tui or use the standalone torc-tui binary");
std::process::exit(1);
}
}