sfrx/
alias.rs

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}