summaryrefslogtreecommitdiff
path: root/src/helix/namespaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/helix/namespaces')
-rw-r--r--src/helix/namespaces/auth.rs2
-rw-r--r--src/helix/namespaces/clips.rs9
-rw-r--r--src/helix/namespaces/mod.rs2
-rw-r--r--src/helix/namespaces/users.rs17
-rw-r--r--src/helix/namespaces/videos.rs20
5 files changed, 24 insertions, 26 deletions
diff --git a/src/helix/namespaces/auth.rs b/src/helix/namespaces/auth.rs
index 1900fbf..d006e2f 100644
--- a/src/helix/namespaces/auth.rs
+++ b/src/helix/namespaces/auth.rs
@@ -8,7 +8,7 @@ type AuthNamespace = Namespace<Auth>;
impl AuthNamespace {
pub fn client_credentials(self, secret: &str)
-> ApiRequest<Credentials> {
- auth::client_credentials(self.client.inner, secret)
+ auth::client_credentials(self.client.inner, &secret)
}
}
diff --git a/src/helix/namespaces/clips.rs b/src/helix/namespaces/clips.rs
index 1de2e33..c4595ce 100644
--- a/src/helix/namespaces/clips.rs
+++ b/src/helix/namespaces/clips.rs
@@ -1,12 +1,11 @@
use super::*;
use super::models::{DataContainer, Clip};
-use crate::types::ClipId;
pub struct Clips {}
type ClipsNamespace = Namespace<Clips>;
impl ClipsNamespace {
- pub fn clip(self, id: &ClipId) -> ApiRequest<DataContainer<Clip>> {
+ pub fn clip<S: ToString>(self, id: &S) -> ApiRequest<DataContainer<Clip>> {
use self::clip;
clip(self.client, id)
}
@@ -19,15 +18,15 @@ impl Client {
}
-pub fn clip(client: Client, id: &ClipId)
+pub fn clip<S: ToString>(client: Client, id: &S)
-> ApiRequest<DataContainer<Clip>>
{
let client = client.inner;
let url =
String::from("https://") +
- client.domain() + "/helix/clips" + "?id=" + id.as_ref();
+ client.domain() + "/helix/clips" + "?id=" + &id.to_string();
- let params = BTreeMap::new();
+ let params : ParamList = BTreeMap::new();
ApiRequest::new(url, params, client, Method::GET, Some(RatelimitKey::Default))
}
diff --git a/src/helix/namespaces/mod.rs b/src/helix/namespaces/mod.rs
index 8adc1e3..1d4239a 100644
--- a/src/helix/namespaces/mod.rs
+++ b/src/helix/namespaces/mod.rs
@@ -1,7 +1,7 @@
use std::marker::PhantomData;
pub use super::Client;
-pub use crate::client::{RatelimitKey, ClientTrait, ApiRequest, IterableApiRequest};
+pub use crate::client::{RatelimitKey, ClientTrait, ApiRequest, IterableApiRequest, ParamList};
pub use std::collections::BTreeMap;
pub use reqwest::Method;
pub use super::models;
diff --git a/src/helix/namespaces/users.rs b/src/helix/namespaces/users.rs
index 20f2914..2e922d6 100644
--- a/src/helix/namespaces/users.rs
+++ b/src/helix/namespaces/users.rs
@@ -1,13 +1,12 @@
use super::*;
use super::models::{DataContainer, User};
-use crate::types::UserId;
+use std::string::ToString;
pub struct Users {}
type UsersNamespace = Namespace<Users>;
impl UsersNamespace {
- pub fn users(self, ids: Vec<&UserId>, logins: Vec<&str>)
- -> ApiRequest<DataContainer<User>> {
+ pub fn users<S: ToString>(self, ids: &[S], logins: &[S]) -> ApiRequest<DataContainer<User>> {
use self::users;
users(self.client, ids, logins)
}
@@ -19,18 +18,18 @@ impl Client {
}
}
-pub fn users(
+pub fn users<S: ToString>(
client: Client,
- ids: Vec<&UserId>,
- logins: Vec<&str>,
+ ids: &[S],
+ logins: &[S],
) -> ApiRequest<DataContainer<User>> {
let client = client.inner;
let url =
String::from("https://") + client.domain() + &String::from("/helix/users");
- let mut params = BTreeMap::new();
+ let mut params: BTreeMap<&str, &dyn ToString> = BTreeMap::new();
for id in ids {
- params.insert("id", id.as_ref());
+ params.insert("id", id);
}
for login in logins {
@@ -41,5 +40,5 @@ pub fn users(
}
pub fn authed_as(client: Client) -> ApiRequest<DataContainer<User>> {
- users(client, Vec::with_capacity(0), Vec::with_capacity(0))
+ users(client, &[""], &[""])
}
diff --git a/src/helix/namespaces/videos.rs b/src/helix/namespaces/videos.rs
index 75b702e..9f2fd2b 100644
--- a/src/helix/namespaces/videos.rs
+++ b/src/helix/namespaces/videos.rs
@@ -7,7 +7,7 @@ pub struct Videos {}
type VideosNamespace = Namespace<Videos>;
impl VideosNamespace {
- pub fn by_id(self, ids: Vec<&VideoId>)
+ pub fn by_id<S: ToString>(self, ids: &[S])
-> IterableApiRequest<PaginationContainer<Video>> {
use self::by_id;
by_id(self.client, ids)
@@ -33,42 +33,42 @@ impl Client {
}
}
-pub fn by_id(client: Client, ids: Vec<&VideoId>)
+pub fn by_id<S: ToString>(client: Client, ids: &[S])
-> IterableApiRequest<PaginationContainer<Video>> {
let client = client.inner;
let url =
String::from("https://") + client.domain() + &String::from("/helix/videos");
- let mut params = BTreeMap::new();
+ let mut params: ParamList = BTreeMap::new();
for id in ids {
- params.insert("id", id.as_ref());
+ params.insert("id", id);
}
IterableApiRequest::new(url, params, client,
Method::GET, Some(RatelimitKey::Default))
}
-pub fn by_user(client: Client, user_id: &UserId)
+pub fn by_user<S: ToString>(client: Client, user_id: &S)
-> IterableApiRequest<PaginationContainer<Video>> {
let client = client.inner;
let url =
String::from("https://") + client.domain() + &String::from("/helix/videos");
- let mut params = BTreeMap::new();
- params.insert("user_id", user_id.as_ref());
+ let mut params: ParamList = BTreeMap::new();
+ params.insert("user_id", user_id);
IterableApiRequest::new(url, params, client,
Method::GET, Some(RatelimitKey::Default))
}
-pub fn for_game(client: Client, game_id: &GameId)
+pub fn for_game<S: ToString>(client: Client, game_id: &S)
-> IterableApiRequest<PaginationContainer<Video>> {
let client = client.inner;
let url =
String::from("https://") + client.domain() + &String::from("/helix/videos");
- let mut params = BTreeMap::new();
- params.insert("game_id", game_id.as_ref());
+ let mut params: ParamList = BTreeMap::new();
+ params.insert("game_id", game_id);
IterableApiRequest::new(url, params, client,
Method::GET, Some(RatelimitKey::Default))