diff options
author | Adam Carpenter <adam.carpenter@adp.com> | 2022-01-17 15:02:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-17 15:02:00 -0500 |
commit | 6e307700a5203f5b9fcc741f693fcacc7757414d (patch) | |
tree | fe7781e07a74e05a82ea3c1e19c389337fe8ac8c /angelsharkd/src/routes/extensions/simple_deprov/mod.rs | |
parent | d3e1b697fec543e0197f1c549164c210504dde3b (diff) | |
parent | 579980ca75dfbc27639259c773dfc5fe1ec9e32a (diff) | |
download | altruistic-angelshark-master.tar.xz altruistic-angelshark-master.zip |
feat: support station busyout/release toggling via extension
Diffstat (limited to 'angelsharkd/src/routes/extensions/simple_deprov/mod.rs')
-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)], }) |