diff options
Diffstat (limited to 'angelsharkd/src/routes/extensions/simple_deprov')
| -rw-r--r-- | angelsharkd/src/routes/extensions/simple_deprov/README.md | 2 | ||||
| -rw-r--r-- | angelsharkd/src/routes/extensions/simple_deprov/mod.rs | 15 | 
2 files changed, 14 insertions, 3 deletions
| diff --git a/angelsharkd/src/routes/extensions/simple_deprov/README.md b/angelsharkd/src/routes/extensions/simple_deprov/README.md index 4900075..f7a3fe2 100644 --- a/angelsharkd/src/routes/extensions/simple_deprov/README.md +++ b/angelsharkd/src/routes/extensions/simple_deprov/README.md @@ -16,7 +16,7 @@ cargo build --bin angelsharkd --features simple_deprov ...  ## `POST /extensions/deprov` Remove Objects -The request type is TODO: +The request type is as follows:  ```json  POST /extensions/deprov 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)],          }) |