diff --git a/ext_nodeinfo/src/version_1_0.rs b/ext_nodeinfo/src/version_1_0.rs index 4cfcdeb..9856b8f 100644 --- a/ext_nodeinfo/src/version_1_0.rs +++ b/ext_nodeinfo/src/version_1_0.rs @@ -57,8 +57,6 @@ pub struct NodeInfo10Usage { #[derive(Clone, PartialEq, Debug, Deserialize, Serialize)] pub struct NodeInfo10 { - #[doc = "The schema version, must be 1.0."] - pub version: String, #[doc = "Free form key value pairs for software specific values. Clients should not rely on any "] #[doc = "specific key present."] pub metadata: HashMap, diff --git a/src/nodeinfo.rs b/src/nodeinfo.rs index 6111307..6d8d265 100644 --- a/src/nodeinfo.rs +++ b/src/nodeinfo.rs @@ -3,11 +3,12 @@ use axum::Json; use magnetar_common::config::MagnetarConfig; use magnetar_core::web_model::rel::{RelNodeInfo20, RelNodeInfo21}; use magnetar_core::web_model::Rel; -use magnetar_nodeinfo::version_1_0::{ - NodeInfo10Services, NodeInfo10Software, NodeInfo10Usage, NodeInfo10UsageUsers, -}; use magnetar_nodeinfo::version_2_0::NodeInfo20; use magnetar_nodeinfo::version_2_1::{NodeInfo21, NodeInfo21Software}; +use magnetar_nodeinfo::{ + version_1_0::{NodeInfo10Services, NodeInfo10Software, NodeInfo10Usage, NodeInfo10UsageUsers}, + NodeInfo, +}; use serde::Serialize; use serde_json::{json, Value}; use std::collections::{HashMap, HashSet}; @@ -43,8 +44,8 @@ pub async fn handle_nodeinfo(State(config): State<&'static MagnetarConfig>) -> J Json(json!({ "links": links_serialized })) } -pub async fn handle_nodeinfo_21(State(config): State<&'static MagnetarConfig>) -> Json { - Json(NodeInfo21 { +pub async fn handle_nodeinfo_21(State(config): State<&'static MagnetarConfig>) -> Json { + Json(NodeInfo::V2_1(NodeInfo21 { software: NodeInfo21Software { name: config.branding.name.clone(), version: config.branding.version.clone(), @@ -67,11 +68,11 @@ pub async fn handle_nodeinfo_21(State(config): State<&'static MagnetarConfig>) - local_comments: Some(0), }, metadata: HashMap::new(), - }) + })) } -pub async fn handle_nodeinfo_20(State(config): State<&'static MagnetarConfig>) -> Json { - Json(NodeInfo20 { +pub async fn handle_nodeinfo_20(State(config): State<&'static MagnetarConfig>) -> Json { + Json(NodeInfo::V2_0(NodeInfo20 { software: NodeInfo10Software { name: config.branding.name.clone(), version: config.branding.version.clone(), @@ -92,7 +93,7 @@ pub async fn handle_nodeinfo_20(State(config): State<&'static MagnetarConfig>) - local_comments: None, }, metadata: HashMap::new(), - }) + })) } #[cfg(test)]