use std::collections::HashMap;
use crate::registry::Node;
use crate::rest_api::paging::Paging;
#[derive(Debug, Clone, PartialEq, Serialize)]
pub struct ListNodesResponse<'a> {
pub data: Vec<NodeResponse<'a>>,
pub paging: Paging,
}
#[derive(Debug, Clone, PartialEq, Serialize)]
pub struct NodeResponse<'a> {
pub identity: &'a str,
pub endpoints: &'a [String],
pub display_name: &'a str,
pub keys: &'a [String],
pub metadata: &'a HashMap<String, String>,
}
impl<'a> From<&'a Node> for NodeResponse<'a> {
fn from(node: &'a Node) -> Self {
Self {
identity: &node.identity,
endpoints: &node.endpoints,
display_name: &node.display_name,
keys: &node.keys,
metadata: &node.metadata,
}
}
}