From ddcef1940ad1afc60d7dedcd2e714676d90938c5 Mon Sep 17 00:00:00 2001 From: Paul Woolcock Date: Thu, 23 Aug 2018 11:37:53 -0400 Subject: [PATCH] Move `Data` struct to it's own module --- src/data.rs | 19 +++++++++++++++++++ src/lib.rs | 20 +++----------------- 2 files changed, 22 insertions(+), 17 deletions(-) create mode 100644 src/data.rs diff --git a/src/data.rs b/src/data.rs new file mode 100644 index 0000000..89c2fef --- /dev/null +++ b/src/data.rs @@ -0,0 +1,19 @@ +use std::borrow::Cow; + +/// Raw data about mastodon app. Save `Data` using `serde` to prevent needing +/// to authenticate on every run. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +pub struct Data { + /// Base url of instance eg. `https://mastodon.social`. + pub base: Cow<'static, str>, + /// The client's id given by the instance. + pub client_id: Cow<'static, str>, + /// The client's secret given by the instance. + pub client_secret: Cow<'static, str>, + /// Url to redirect back to your application from the instance signup. + pub redirect: Cow<'static, str>, + /// The client's access token. + pub token: Cow<'static, str>, +} + + diff --git a/src/lib.rs b/src/lib.rs index d05c372..86f6561 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -52,6 +52,7 @@ use reqwest::{ use entities::prelude::*; use page::Page; +pub use data::Data; pub use errors::{ApiError, Error, Result}; pub use registration::Registration; pub use requests::statuses::StatusesRequest; @@ -59,6 +60,7 @@ pub use status_builder::StatusBuilder; /// Registering your App pub mod apps; +mod data; /// Entities returned from the API pub mod entities; /// Errors @@ -75,7 +77,7 @@ pub mod status_builder; mod macros; /// Automatically import the things you need pub mod prelude { - pub use Data; + pub use data::Data; pub use Mastodon; pub use MastodonClient; pub use StatusBuilder; @@ -91,22 +93,6 @@ pub struct Mastodon { pub data: Data, } -/// Raw data about mastodon app. Save `Data` using `serde` to prevent needing -/// to authenticate on every run. -#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] -pub struct Data { - /// Base url of instance eg. `https://mastodon.social`. - pub base: Cow<'static, str>, - /// The client's id given by the instance. - pub client_id: Cow<'static, str>, - /// The client's secret given by the instance. - pub client_secret: Cow<'static, str>, - /// Url to redirect back to your application from the instance signup. - pub redirect: Cow<'static, str>, - /// The client's access token. - pub token: Cow<'static, str>, -} - /// Represents the set of methods that a Mastodon Client can do, so that /// implementations might be swapped out for testing #[allow(unused)]