From 98fb79b85e3cfbb547e5340b30623511daf09ef5 Mon Sep 17 00:00:00 2001 From: David Blajda Date: Wed, 8 May 2019 15:38:37 +0000 Subject: :WIP: Move types to a different crate --- src/kraken/mod.rs | 83 ------------------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/kraken/mod.rs (limited to 'src/kraken/mod.rs') diff --git a/src/kraken/mod.rs b/src/kraken/mod.rs deleted file mode 100644 index 4046377..0000000 --- a/src/kraken/mod.rs +++ /dev/null @@ -1,83 +0,0 @@ -use crate::client::Client as GenericClient; -use crate::client::{Version, ClientConfig}; -use crate::client::ClientTrait; -pub use super::types; - -use crate::client::{KrakenScope, Scope}; - -mod namespaces; -pub mod models; - -#[derive(Clone)] -pub struct Client { - inner: GenericClient -} - -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, 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 { - self.inner.scopes().into_iter().filter_map(|item| { - if let Scope::Kraken(scope) = item { Some(scope) } else { None } - }).collect() - } -} - -use crate::client::AuthClientBuilder as GenericAuthClientBuilder; - -pub struct AuthClientBuilder { - inner: GenericAuthClientBuilder, -} - -impl AuthClientBuilder { - pub fn new(client: Client, secret: &str) -> AuthClientBuilder { - AuthClientBuilder { - inner: GenericAuthClientBuilder::new(client.inner, secret), - } - } - - pub fn build(self) -> Client { - let client = self.inner.build(); - Client { - inner: client - } - } - - pub fn scope(self, scope: Scope) -> AuthClientBuilder { - AuthClientBuilder { - inner: self.inner.scope(scope) - } - } - - pub fn scopes(self, scopes: Vec) -> AuthClientBuilder { - AuthClientBuilder { - inner: self.inner.scopes(scopes) - } - } - - pub fn token(self, token: &str) -> AuthClientBuilder { - AuthClientBuilder { - inner: self.inner.token(token) - } - } -} -- cgit v1.2.3