summaryrefslogtreecommitdiff
path: root/src/kraken
diff options
context:
space:
mode:
Diffstat (limited to 'src/kraken')
-rw-r--r--src/kraken/endpoints.rs0
-rw-r--r--src/kraken/mod.rs83
-rw-r--r--src/kraken/models.rs79
-rw-r--r--src/kraken/namespaces/clips.rs33
-rw-r--r--src/kraken/namespaces/mod.rs20
-rw-r--r--src/kraken/namespaces/users.rs32
6 files changed, 0 insertions, 247 deletions
diff --git a/src/kraken/endpoints.rs b/src/kraken/endpoints.rs
deleted file mode 100644
index e69de29..0000000
--- a/src/kraken/endpoints.rs
+++ /dev/null
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<KrakenScope> {
- 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<Scope>) -> AuthClientBuilder {
- AuthClientBuilder {
- inner: self.inner.scopes(scopes)
- }
- }
-
- pub fn token(self, token: &str) -> AuthClientBuilder {
- AuthClientBuilder {
- inner: self.inner.token(token)
- }
- }
-}
diff --git a/src/kraken/models.rs b/src/kraken/models.rs
deleted file mode 100644
index 931f849..0000000
--- a/src/kraken/models.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-extern crate serde_json;
-extern crate chrono;
-extern crate url;
-
-use url::Url;
-use chrono::{DateTime, Utc};
-use super::types::{UserId, VideoId};
-use crate::client::PaginationTrait;
-
-#[derive(Debug, Deserialize, Serialize)]
-pub struct User {
- pub _id: String,
- pub bio: String,
- pub created_at: DateTime<Utc>,
- pub display_name: String,
- #[serde(with = "url_serde")]
- pub logo: Url,
- pub name: String,
- #[serde(rename = "type")]
- pub user_type: String,
- pub updated_at: DateTime<Utc>,
-}
-
-#[derive(Debug, Deserialize, Serialize)]
-pub struct Clip {
- pub slug: String,
- pub tracking_id: String,
- #[serde(with = "url_serde")]
- pub url: Url,
- #[serde(with = "url_serde")]
- pub embed_url: Url,
- pub embed_html: String,
- pub broadcaster: UserData,
- pub curator: UserData,
- pub vod: Vod,
- pub game: String,
- pub language: String,
- pub title: String,
- pub views: i32,
- pub duration: f32,
- pub created_at: DateTime<Utc>,
- pub thumbnails: Thumbnails,
-}
-
-impl PaginationTrait for Clip {
- fn cursor<'a>(&'a self) -> Option<&'a str> { None }
-}
-
-impl PaginationTrait for User {
- fn cursor<'a>(&'a self) -> Option<&'a str> { None }
-}
-
-
-#[derive(Debug, Deserialize, Serialize)]
-pub struct Thumbnails {
- #[serde(with = "url_serde")]
- pub medium: Url,
- #[serde(with = "url_serde")]
- pub small: Url,
- #[serde(with = "url_serde")]
- pub tiny: Url,
-}
-
-#[derive(Debug, Deserialize, Serialize)]
-pub struct UserData {
- pub id: UserId,
- pub name: String,
- pub display_name: String,
- #[serde(with = "url_serde")]
- pub channel_url: Url,
- pub logo: String,
-}
-
-#[derive(Debug, Deserialize, Serialize)]
-pub struct Vod {
- pub id: VideoId,
- #[serde(with = "url_serde")]
- pub url: Url,
-}
diff --git a/src/kraken/namespaces/clips.rs b/src/kraken/namespaces/clips.rs
deleted file mode 100644
index edde25b..0000000
--- a/src/kraken/namespaces/clips.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-use std::collections::BTreeMap;
-use super::super::models::{Clip};
-use super::super::Client;
-use crate::client::{RatelimitKey, ClientTrait, ApiRequest};
-use reqwest::Method;
-use super::Namespace;
-
-pub struct Clips {}
-type ClipsNamespace = Namespace<Clips>;
-
-impl ClipsNamespace {
- pub fn clip(self, id: &str) -> ApiRequest<Clip> {
- use self::clip;
- clip(self.client, id)
- }
-}
-
-impl Client {
-
- pub fn clips(&self) -> ClipsNamespace {
- ClipsNamespace::new(self)
- }
-}
-
-pub fn clip(client: Client, id: &str)
- -> ApiRequest<Clip>
-{
- let client = client.inner;
- let url = String::from("https://") + client.domain() + "/kraken/clips/" + id;
- let params = BTreeMap::new();
-
- ApiRequest::new(url, params, client, Method::GET, Some(RatelimitKey::Default))
-}
diff --git a/src/kraken/namespaces/mod.rs b/src/kraken/namespaces/mod.rs
deleted file mode 100644
index d8a065f..0000000
--- a/src/kraken/namespaces/mod.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-use std::marker::PhantomData;
-pub use super::models;
-pub use super::Client;
-
-pub mod clips;
-pub mod users;
-
-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,
- }
- }
-}
diff --git a/src/kraken/namespaces/users.rs b/src/kraken/namespaces/users.rs
deleted file mode 100644
index d4adb8e..0000000
--- a/src/kraken/namespaces/users.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-use std::collections::BTreeMap;
-use super::super::models::{User};
-use super::super::Client;
-use crate::client::{RatelimitKey, ClientTrait, ApiRequest};
-use reqwest::Method;
-use super::Namespace;
-
-pub struct Users {}
-type UsersNamespace = Namespace<Users>;
-
-impl UsersNamespace {
- pub fn by_id(self, id: &str) -> ApiRequest<User> {
- use self::by_id;
- by_id(self.client, id)
- }
-}
-
-impl Client {
- pub fn users(&self) -> UsersNamespace {
- UsersNamespace::new(self)
- }
-}
-
-pub fn by_id(client: Client, id: &str)
- -> ApiRequest<User>
-{
- let client = client.inner;
- let url = String::from("https://") + client.domain() + "/kraken/users/" + id;
- let params = BTreeMap::new();
-
- ApiRequest::new(url, params, client, Method::GET, Some(RatelimitKey::Default))
-}