36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
|
|
use codex_common::CliConfigOverrides;
|
||
|
|
use codex_core::config::Config;
|
||
|
|
use codex_core::config::ConfigOverrides;
|
||
|
|
use codex_login::login_with_chatgpt;
|
||
|
|
|
||
|
|
pub async fn run_login_with_chatgpt(cli_config_overrides: CliConfigOverrides) -> ! {
|
||
|
|
let cli_overrides = match cli_config_overrides.parse_overrides() {
|
||
|
|
Ok(v) => v,
|
||
|
|
Err(e) => {
|
||
|
|
eprintln!("Error parsing -c overrides: {e}");
|
||
|
|
std::process::exit(1);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
let config_overrides = ConfigOverrides::default();
|
||
|
|
let config = match Config::load_with_cli_overrides(cli_overrides, config_overrides) {
|
||
|
|
Ok(config) => config,
|
||
|
|
Err(e) => {
|
||
|
|
eprintln!("Error loading configuration: {e}");
|
||
|
|
std::process::exit(1);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
let capture_output = false;
|
||
|
|
match login_with_chatgpt(&config.codex_home, capture_output).await {
|
||
|
|
Ok(_) => {
|
||
|
|
eprintln!("Successfully logged in");
|
||
|
|
std::process::exit(0);
|
||
|
|
}
|
||
|
|
Err(e) => {
|
||
|
|
eprintln!("Error logging in: {e}");
|
||
|
|
std::process::exit(1);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|