use serde::{Deserialize, Serialize};
pub type Root = Vec<Root2>;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Root2 {
pub url: String,
#[serde(rename = "assets_url")]
pub assets_url: String,
#[serde(rename = "upload_url")]
pub upload_url: String,
#[serde(rename = "html_url")]
pub html_url: String,
pub id: i64,
pub author: Author,
#[serde(rename = "node_id")]
pub node_id: String,
#[serde(rename = "tag_name")]
pub tag_name: String,
#[serde(rename = "target_commitish")]
pub target_commitish: String,
pub name: String,
pub draft: bool,
pub prerelease: bool,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "published_at")]
pub published_at: String,
pub assets: Vec<Asset>,
#[serde(rename = "tarball_url")]
pub tarball_url: String,
#[serde(rename = "zipball_url")]
pub zipball_url: String,
pub body: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Author {
pub login: String,
pub id: i64,
#[serde(rename = "node_id")]
pub node_id: String,
#[serde(rename = "avatar_url")]
pub avatar_url: String,
#[serde(rename = "gravatar_id")]
pub gravatar_id: String,
pub url: String,
#[serde(rename = "html_url")]
pub html_url: String,
#[serde(rename = "followers_url")]
pub followers_url: String,
#[serde(rename = "following_url")]
pub following_url: String,
#[serde(rename = "gists_url")]
pub gists_url: String,
#[serde(rename = "starred_url")]
pub starred_url: String,
#[serde(rename = "subscriptions_url")]
pub subscriptions_url: String,
#[serde(rename = "organizations_url")]
pub organizations_url: String,
#[serde(rename = "repos_url")]
pub repos_url: String,
#[serde(rename = "events_url")]
pub events_url: String,
#[serde(rename = "received_events_url")]
pub received_events_url: String,
#[serde(rename = "type")]
pub type_field: String,
#[serde(rename = "user_view_type")]
pub user_view_type: String,
#[serde(rename = "site_admin")]
pub site_admin: bool,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Asset {
pub url: String,
pub id: i64,
#[serde(rename = "node_id")]
pub node_id: String,
pub name: String,
pub label: String,
pub uploader: Uploader,
#[serde(rename = "content_type")]
pub content_type: String,
pub state: String,
pub size: i64,
#[serde(rename = "download_count")]
pub download_count: i64,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "browser_download_url")]
pub browser_download_url: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Uploader {
pub login: String,
pub id: i64,
#[serde(rename = "node_id")]
pub node_id: String,
#[serde(rename = "avatar_url")]
pub avatar_url: String,
#[serde(rename = "gravatar_id")]
pub gravatar_id: String,
pub url: String,
#[serde(rename = "html_url")]
pub html_url: String,
#[serde(rename = "followers_url")]
pub followers_url: String,
#[serde(rename = "following_url")]
pub following_url: String,
#[serde(rename = "gists_url")]
pub gists_url: String,
#[serde(rename = "starred_url")]
pub starred_url: String,
#[serde(rename = "subscriptions_url")]
pub subscriptions_url: String,
#[serde(rename = "organizations_url")]
pub organizations_url: String,
#[serde(rename = "repos_url")]
pub repos_url: String,
#[serde(rename = "events_url")]
pub events_url: String,
#[serde(rename = "received_events_url")]
pub received_events_url: String,
#[serde(rename = "type")]
pub type_field: String,
#[serde(rename = "user_view_type")]
pub user_view_type: String,
#[serde(rename = "site_admin")]
pub site_admin: bool,
}