diff options
Diffstat (limited to 'src/kraken/namespaces')
-rw-r--r-- | src/kraken/namespaces/mod.rs | 1 | ||||
-rw-r--r-- | src/kraken/namespaces/users.rs | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/kraken/namespaces/mod.rs b/src/kraken/namespaces/mod.rs index 5f4b421..d8a065f 100644 --- a/src/kraken/namespaces/mod.rs +++ b/src/kraken/namespaces/mod.rs @@ -3,6 +3,7 @@ pub use super::models; pub use super::Client; pub mod clips; +pub mod users; pub struct Namespace<T> { client: Client, diff --git a/src/kraken/namespaces/users.rs b/src/kraken/namespaces/users.rs new file mode 100644 index 0000000..d4adb8e --- /dev/null +++ b/src/kraken/namespaces/users.rs @@ -0,0 +1,32 @@ +use std::collections::BTreeMap; +use super::super::models::{User}; +use super::super::Client; +use crate::client::{RatelimitKey, ClientTrait, ApiRequest}; +use reqwest::Method; +use super::Namespace; + +pub struct Users {} +type UsersNamespace = Namespace<Users>; + +impl UsersNamespace { + pub fn by_id(self, id: &str) -> ApiRequest<User> { + use self::by_id; + by_id(self.client, id) + } +} + +impl Client { + pub fn users(&self) -> UsersNamespace { + UsersNamespace::new(self) + } +} + +pub fn by_id(client: Client, id: &str) + -> ApiRequest<User> +{ + let client = client.inner; + let url = String::from("https://") + client.domain() + "/kraken/users/" + id; + let params = BTreeMap::new(); + + ApiRequest::new(url, params, client, Method::GET, Some(RatelimitKey::Default)) +} |