From 7e60a4edcef897c3810fb4ae0564228fe853bf00 Mon Sep 17 00:00:00 2001 From: David Blajda Date: Mon, 10 Dec 2018 19:34:05 +0000 Subject: Add models --- src/models.rs | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/models.rs (limited to 'src') diff --git a/src/models.rs b/src/models.rs new file mode 100644 index 0000000..6aec705 --- /dev/null +++ b/src/models.rs @@ -0,0 +1,54 @@ +extern crate serde_json; + +#[derive(Debug, Deserialize)] +pub struct DataContainer { + pub data: Vec +} + +#[derive(Debug, Deserialize)] +pub struct Cursor { + cursor: String +} + +#[derive(Debug, Deserialize)] +pub struct PaginationContainer { + pub data: Vec, + pub pagination: Option +} + +#[derive(Debug, Deserialize)] +pub struct Video { + pub id: String, + pub user_id: String, + pub user_name: String, + pub title: String, + pub description: String, + //Should be converted to a DateTime + pub created_at: String, + pub published_at: String, + //Should be converted to a URL + pub url: String, + thumbnail_url: String, + viewable: String, + view_count: i32, + language: String, + #[serde(rename = "type")] + video_type: String, + //Should be converted to a Duration + duration: String, +} + +#[derive(Debug, Deserialize)] +pub struct User { + pub id: String, + pub login: String, + pub display_name: String, + #[serde(rename = "type")] + pub user_type: String, + pub broadcaster_type: String, + pub description: String, + pub profile_image_url: String, + pub offline_image_url: String, + pub view_count: u32, + pub email: Option, +} -- cgit v1.2.3