summaryrefslogtreecommitdiff
path: root/src/namespace/auth.rs
diff options
context:
space:
mode:
authorDavid Blajda <blajda@hotmail.com>2019-05-08 15:38:37 +0000
committerDavid Blajda <blajda@hotmail.com>2019-05-08 15:38:37 +0000
commit98fb79b85e3cfbb547e5340b30623511daf09ef5 (patch)
treea03bd7a95c86a92eb7510409429f50433056d7ab /src/namespace/auth.rs
parent0e09c2c06fc0b81f11d12985a4172c815233db17 (diff)
:WIP: Move types to a different crate
Diffstat (limited to 'src/namespace/auth.rs')
-rw-r--r--src/namespace/auth.rs55
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)
-}