diff options
author | David Blajda <blajda@hotmail.com> | 2019-05-08 15:38:37 +0000 |
---|---|---|
committer | David Blajda <blajda@hotmail.com> | 2019-05-08 15:38:37 +0000 |
commit | 98fb79b85e3cfbb547e5340b30623511daf09ef5 (patch) | |
tree | a03bd7a95c86a92eb7510409429f50433056d7ab /src/namespace/auth.rs | |
parent | 0e09c2c06fc0b81f11d12985a4172c815233db17 (diff) |
:WIP: Move types to a different crate
Diffstat (limited to 'src/namespace/auth.rs')
-rw-r--r-- | src/namespace/auth.rs | 55 |
1 files changed, 0 insertions, 55 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) -} |