summaryrefslogtreecommitdiff
path: root/src/kraken/mod.rs
diff options
context:
space:
mode:
authorDavid Blajda <blajda@hotmail.com>2019-02-03 22:30:15 +0000
committerDavid Blajda <blajda@hotmail.com>2019-02-03 22:30:15 +0000
commit96715ceb58b24ee7220d98e421701daa550f44db (patch)
tree2d00984339efab0549fa07079be623b2a7b634f8 /src/kraken/mod.rs
parent0a5892c67fb02e09a621ac8796ac84232935f5c3 (diff)
Add Helix and Kraken scopes. Client Config and allow injecting of responses
Diffstat (limited to 'src/kraken/mod.rs')
-rw-r--r--src/kraken/mod.rs26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/kraken/mod.rs b/src/kraken/mod.rs
index fbec045..4046377 100644
--- a/src/kraken/mod.rs
+++ b/src/kraken/mod.rs
@@ -1,7 +1,10 @@
use crate::client::Client as GenericClient;
-use crate::client::Version;
+use crate::client::{Version, ClientConfig};
+use crate::client::ClientTrait;
pub use super::types;
+use crate::client::{KrakenScope, Scope};
+
mod namespaces;
pub mod models;
@@ -12,17 +15,34 @@ pub struct Client {
impl Client {
pub fn new(id: &str) -> Client {
+ let config = ClientConfig::default();
+ Client {
+ inner: GenericClient::new(id, config, Version::Kraken)
+ }
+ }
+
+ pub fn new_with_config(id: &str, config: ClientConfig) -> Client {
Client {
- inner: GenericClient::new(id, Version::Kraken)
+ inner: GenericClient::new(id, config, Version::Kraken)
}
}
pub fn authenticate(self, secret: &str) -> AuthClientBuilder {
AuthClientBuilder::new(self, secret)
}
+
+ pub fn id<'a>(&'a self) -> &'a str { &self.inner.id() }
+ pub fn domain<'a>(&'a self) -> &'a str { &self.inner.domain() }
+ pub fn auth_domain<'a>(&'a self) -> &'a str { &self.inner.auth_domain() }
+ pub fn authenticated(&self) -> bool { self.inner.authenticated() }
+
+ pub fn scopes(&self) -> Vec<KrakenScope> {
+ self.inner.scopes().into_iter().filter_map(|item| {
+ if let Scope::Kraken(scope) = item { Some(scope) } else { None }
+ }).collect()
+ }
}
-use crate::client::Scope;
use crate::client::AuthClientBuilder as GenericAuthClientBuilder;
pub struct AuthClientBuilder {