Move Data struct to it's own module

This commit is contained in:
Paul Woolcock
2018-08-23 13:27:32 -04:00
parent 25999bf423
commit ddcef1940a
2 changed files with 22 additions and 17 deletions
+19
View File
@@ -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>,
}
+3 -17
View File
@@ -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)]