ao_core/
parity_notifier_resolution.rs1use std::collections::HashMap;
9
10#[derive(Debug, Clone, PartialEq, Eq)]
11pub struct NotifierConfig {
12 pub plugin: String,
13}
14
15#[derive(Debug, Clone, PartialEq, Eq)]
16pub struct ResolvedNotifierTarget {
17 pub reference: String,
18 pub plugin_name: String,
19}
20
21pub fn resolve_notifier_target(
22 notifiers: Option<&HashMap<String, NotifierConfig>>,
23 reference: &str,
24) -> ResolvedNotifierTarget {
25 let plugin_name = notifiers
26 .and_then(|m| m.get(reference))
27 .map(|c| c.plugin.clone())
28 .unwrap_or_else(|| reference.to_string());
29
30 ResolvedNotifierTarget {
31 reference: reference.to_string(),
32 plugin_name,
33 }
34}