Compare commits

...

3 commits

2 changed files with 13 additions and 8 deletions

View file

@ -7,3 +7,7 @@
Federation database Federation database
</div> </div>
> [!Caution]
>
> This software suite is in active development!

View file

@ -5,6 +5,7 @@
//! # Specification //! # Specification
//! //!
//! - <https://github.com/jhass/nodeinfo/blob/main/PROTOCOL.md> //! - <https://github.com/jhass/nodeinfo/blob/main/PROTOCOL.md>
//! - <https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md>
use serde::Deserialize; use serde::Deserialize;
@ -36,16 +37,16 @@ pub struct NodeInfo1 {
pub software: NodeInfo1Software, pub software: NodeInfo1Software,
/// The protocols supported on this server. /// The protocols supported on this server.
pub protocols: NodeInfo1Protocols, pub protocols: Option<NodeInfo1Protocols>,
/// The third party sites this server can connect to via their application API. /// The third party sites this server can connect to via their application API.
pub services: NodeInfo1Services, pub services: Option<NodeInfo1Services>,
/// Whether this server allows open self-registration. /// Whether this server allows open self-registration.
pub open_registrations: bool, pub open_registrations: Option<bool>,
/// Usage statistics for this server. /// Usage statistics for this server.
pub usage: NodeInfo1Usage, pub usage: Option<NodeInfo1Usage>,
/// Free form key value pairs for software specific values. /// Free form key value pairs for software specific values.
/// ///
@ -71,16 +72,16 @@ pub struct NodeInfo2 {
pub instance: Option<NodeInfo2Instance>, pub instance: Option<NodeInfo2Instance>,
/// Metadata about server software in use. /// Metadata about server software in use.
pub software: NodeInfo1Software, pub software: Option<NodeInfo1Software>,
/// The protocols supported on this server. /// The protocols supported on this server.
pub protocols: Vec<String>, pub protocols: Option<Vec<String>>,
/// The third party sites this server can connect to via their application API. /// The third party sites this server can connect to via their application API.
pub services: Option<NodeInfo1Services>, pub services: Option<NodeInfo1Services>,
/// Whether this server allows open self-registration. /// Whether this server allows open self-registration.
pub open_registrations: bool, pub open_registrations: Option<bool>,
/// Usage statistics for this server. /// Usage statistics for this server.
pub usage: Option<NodeInfo1Usage>, pub usage: Option<NodeInfo1Usage>,
@ -161,7 +162,7 @@ pub struct NodeInfo2Instance {
pub name: String, pub name: String,
/// If supported by the software, the administrator-configured long form description of this instance. /// If supported by the software, the administrator-configured long form description of this instance.
pub description: String, pub description: Option<String>,
} }
impl NodeInfo { impl NodeInfo {