use ggen_utils::error::Result;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct MonitorInput {
pub graph: String,
pub interval: u64,
pub once: bool,
}
pub async fn execute_monitor(input: MonitorInput) -> Result<MonitorResult> {
use crate::hook::list::execute_list;
use crate::hook::ListInput;
let hooks = execute_list(ListInput {
verbose: false,
filter: Some(input.graph.clone()),
})
.await?;
Ok(MonitorResult {
active_hooks: hooks.len(),
watching: 0, hooks,
})
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MonitorResult {
pub active_hooks: usize,
pub watching: usize,
pub hooks: Vec<crate::hook::list::HookInfo>,
}