From 0c312cecfcb007dd9733a4c9d9190b63dbd5627d Mon Sep 17 00:00:00 2001 From: Aaron Power Date: Fri, 2 Mar 2018 23:43:18 +0000 Subject: [PATCH] Fixed Instance deserialising and added undocumented properties --- src/entities/instance.rs | 28 ++++++++++++++++++++++++++-- src/entities/mod.rs | 2 +- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/entities/instance.rs b/src/entities/instance.rs index b4c63e5..20d03c0 100644 --- a/src/entities/instance.rs +++ b/src/entities/instance.rs @@ -1,4 +1,5 @@ //! Module containing everything related to an instance. +use super::account::Account; /// A struct containing info of an instance. #[derive(Debug, Clone, Deserialize)] @@ -14,6 +15,29 @@ pub struct Instance { pub email: String, /// The Mastodon version used by instance. pub version: String, - /// `streaming_api` - pub urls: Vec, + /// Urls to the streaming api. + pub urls: Option, + /// Stats about the instance. + pub stats: Option, + /// Thumbnail of the server image. + pub thumbnail: Option, + /// List of languages used on the server. + pub languages: Option>, + /// Contact account for the server. + pub contact_account: Option, +} + +/// Object containing url for streaming api. +#[derive(Debug, Clone, Deserialize)] +pub struct StreamingApi { + /// Url for streaming API, typically a `wss://` url. + pub streaming_api: String, +} + +/// Statistics about the Mastodon instance. +#[derive(Debug, Clone, Deserialize)] +pub struct Stats { + user_count: u64, + status_count: u64, + domain_count: u64, } diff --git a/src/entities/mod.rs b/src/entities/mod.rs index a13e7ff..c82ae5a 100644 --- a/src/entities/mod.rs +++ b/src/entities/mod.rs @@ -23,7 +23,7 @@ pub mod prelude { pub use super::attachment::{Attachment, MediaType}; pub use super::card::Card; pub use super::context::Context; - pub use super::instance::Instance; + pub use super::instance::*; pub use super::list::List; pub use super::mention::Mention; pub use super::notification::Notification;