1use serde::{Deserialize, Serialize};
2use std::env;
3use std::process::Command;
4
5use crate::errors::SfdxError;
6
7#[derive(Debug, Serialize, Deserialize)]
8pub struct Alias {
9 pub alias: String,
10 pub value: String,
11}
12
13#[derive(Debug, Serialize, Deserialize)]
14pub struct AliasListOutput {
15 pub status: i32,
16 pub result: Vec<Alias>,
17 pub warnings: Option<Vec<String>>,
18}
19
20pub fn alias_list() -> Result<AliasListOutput, SfdxError> {
21 let output = Command::new(env::var("SFDX_RUNTIME")?)
22 .args(&["alias:list", "--json"])
23 .output()?;
24 let stdout = String::from_utf8_lossy(&output.stdout);
25 print!("{}", stdout);
26 let output_json: AliasListOutput = serde_json::from_str(&stdout)?;
27 Ok(output_json)
28}