diff options
Diffstat (limited to 'angelsharkd')
-rw-r--r-- | angelsharkd/src/routes/extensions/simple_deprov/mod.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/angelsharkd/src/routes/extensions/simple_deprov/mod.rs b/angelsharkd/src/routes/extensions/simple_deprov/mod.rs index fc734f3..77bde55 100644 --- a/angelsharkd/src/routes/extensions/simple_deprov/mod.rs +++ b/angelsharkd/src/routes/extensions/simple_deprov/mod.rs @@ -1,5 +1,5 @@ use libangelshark::{AcmRunner, Message, ParallelIterator}; -use log::error; +use log::{error, info}; use serde::Deserialize; use std::convert::Infallible; use warp::{ @@ -24,10 +24,12 @@ async fn remove_entries(entries: Entries, mut runner: AcmRunner) -> Result<impl for entry in entries { match entry { Entry::StationUser { acm, ext } => { + runner.queue_input(&acm, &Message::new(&format!("list station {}", ext))); runner.queue_input(&acm, &Message::new(&format!("clear amw all {}", ext))); runner.queue_input(&acm, &Message::new(&format!("remove station {}", ext))); } Entry::AgentLoginId { acm, ext } => { + runner.queue_input(&acm, &Message::new(&format!("list agent-loginID {}", ext))); runner.queue_input( &acm, &Message::new(&format!("remove agent-loginID {}", ext)), @@ -42,7 +44,16 @@ async fn remove_entries(entries: Entries, mut runner: AcmRunner) -> Result<impl .map(|(acm, output)| match output { Ok(messages) => messages .into_iter() - .filter_map(|message| Some(format!("ACM {}: {}", acm.clone(), message.error?))) + .filter_map(|message| { + if let Some(data) = message + .datas + .and_then(|d| Some(format!("{acm}\t{}", d.get(0)?.join("\t")))) + { + // if there was data (such as in lists), print it out + info!("{data}"); + } + Some(format!("ACM {}: {}", acm.clone(), message.error?)) + }) .collect(), Err(error) => vec![format!("ACM {}: {}", acm, error)], }) |