aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/dashboard/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/dashboard/mod.rs')
-rw-r--r--src/api/dashboard/mod.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/api/dashboard/mod.rs b/src/api/dashboard/mod.rs
index db7efa3..91b81d4 100644
--- a/src/api/dashboard/mod.rs
+++ b/src/api/dashboard/mod.rs
@@ -320,9 +320,13 @@ async fn build(state: &AppState, graph: &Graph, live: bool) -> JsonValue {
let list = super::peers::peer_list(state).await;
let stats = serde_json::to_value(super::stats::collect(state, &list).await).unwrap_or_default();
let peers = serde_json::to_value(&list).unwrap_or_default();
- let aliases = {
+ let (aliases, dashboards) = {
let replica = state.doc.read().await;
- members::aliases(&replica.doc)
+ let dashboards: std::collections::HashMap<String, String> = members::members(&replica.doc)
+ .into_iter()
+ .filter_map(|pk| members::dashboard(&replica.doc, &pk).map(|url| (pk, url)))
+ .collect();
+ (members::aliases(&replica.doc), dashboards)
};
let local = state.local_id();
let intended: Map<String, JsonValue> = graph
@@ -362,7 +366,8 @@ async fn build(state: &AppState, graph: &Graph, live: bool) -> JsonValue {
for member in graph.intended.keys().chain(measured.keys()) {
members_json.insert(
member.clone(),
- json!({ "alias": aliases.get(member), "self": member == local }),
+ json!({ "alias": aliases.get(member), "self": member == local,
+ "dashboard": dashboards.get(member) }),
);
}
json!({