diff options
Diffstat (limited to 'src/namespace')
-rw-r--r-- | src/namespace/auth.rs | 55 | ||||
-rw-r--r-- | src/namespace/mod.rs | 1 |
2 files changed, 0 insertions, 56 deletions
diff --git a/src/namespace/auth.rs b/src/namespace/auth.rs deleted file mode 100644 index ff835bf..0000000 --- a/src/namespace/auth.rs +++ /dev/null @@ -1,55 +0,0 @@ -use std::collections::BTreeMap; -use crate::models::Credentials; -use crate::client::Client; -use crate::client::{ClientTrait, ApiRequest}; -use reqwest::Method; -use std::marker::PhantomData; - -pub struct Namespace<T> { - client: Client, - _type: PhantomData<T> -} - -impl<T> Namespace<T> { - pub fn new(client: &Client) -> Self { - Namespace { - client: client.clone(), - _type: PhantomData, - } - } -} - -pub struct Auth {} -type AuthNamespace = Namespace<Auth>; - -impl AuthNamespace { - pub fn client_credentials(self, secret: &str) - -> ApiRequest<Credentials> { - use self::client_credentials; - client_credentials(self.client, &secret.to_owned()) - } -} - -impl Client { - pub fn auth(&self) -> AuthNamespace { - AuthNamespace::new(self) - } -} - -//TODO: Implement scopes -pub fn client_credentials<S: ToString>(client: Client, secret: &S) - -> ApiRequest<Credentials> { - - let url = - String::from("https://") + - client.auth_domain() + "/oauth2/token"; - - let mut params : BTreeMap<&str, &dyn ToString> = BTreeMap::new(); - let client_id = &client.id(); - params.insert("client_id", &client_id); - params.insert("client_secret", secret); - params.insert("grant_type", &"client_credentials"); - params.insert("scope", &""); - - ApiRequest::new(url, params, client.clone(), Method::POST, None) -} diff --git a/src/namespace/mod.rs b/src/namespace/mod.rs deleted file mode 100644 index 0e4a05d..0000000 --- a/src/namespace/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod auth; |