use super::super::*;
impl DaemonState {
pub(crate) fn set_alias(&self, network: &str, identity: &str, alias: &str) -> IpcMessage {
let mut net = match config::load_network(network) {
Ok(Some(n)) => n,
Ok(None) => {
return IpcMessage::Error {
message: format!("network '{network}' not found"),
};
}
Err(e) => {
return IpcMessage::Error {
message: format!("failed to load network config: {e}"),
};
}
};
net.aliases.insert(alias.to_string(), identity.to_string());
if let Err(e) = config::save_network(&net) {
return IpcMessage::Error {
message: format!("failed to save config: {e}"),
};
}
IpcMessage::Ok {
message: format!("alias '{alias}' -> {identity} on '{network}'"),
}
}
pub(crate) fn remove_alias(&self, network: &str, alias: &str) -> IpcMessage {
let mut net = match config::load_network(network) {
Ok(Some(n)) => n,
Ok(None) => {
return IpcMessage::Error {
message: format!("network '{network}' not found"),
};
}
Err(e) => {
return IpcMessage::Error {
message: format!("failed to load network config: {e}"),
};
}
};
if net.aliases.remove(alias).is_none() {
return IpcMessage::Error {
message: format!("no alias '{alias}' on '{network}'"),
};
}
if let Err(e) = config::save_network(&net) {
return IpcMessage::Error {
message: format!("failed to save config: {e}"),
};
}
IpcMessage::Ok {
message: format!("removed alias '{alias}' from '{network}'"),
}
}
pub(crate) fn list_aliases(&self, network: &str) -> IpcMessage {
match config::load_network(network) {
Ok(Some(n)) => IpcMessage::AliasListResponse { aliases: n.aliases },
Ok(None) => IpcMessage::Error {
message: format!("network '{network}' not found"),
},
Err(e) => IpcMessage::Error {
message: format!("failed to load network config: {e}"),
},
}
}
}