anilist_moe 0.4.0

Anilist_Moe is a Rust Wrapper for the Anilist API. This library allows you to seamlessly interact with Anilist's Public API with and without authentication. This currently supports Anime, Manga, Users, Staff, Forum, Threads, Recommendations, Reviews and User Activities
Documentation
use serde::{Deserialize, Serialize};
use serde_with::skip_serializing_none;

use crate::objects::{common::Json, media::Media, user::User};

#[skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Thread {
    pub id: i32,
    pub title: Option<String>,
    pub body: Option<String>,
    pub user_id: Option<i32>,
    pub reply_user_id: Option<i32>,
    pub reply_comment_id: Option<i32>,
    pub reply_count: Option<i32>,
    pub view_count: Option<i32>,
    pub is_locked: Option<bool>,
    pub is_sticky: Option<bool>,
    pub is_subscribed: Option<bool>,
    pub like_count: Option<i32>,
    pub is_liked: Option<bool>,
    pub replied_at: Option<i32>,
    pub created_at: Option<i32>,
    pub updated_at: Option<i32>,
    pub user: Option<User>,
    pub reply_user: Option<User>,
    pub likes: Option<Vec<User>>,
    pub site_url: Option<String>,
    pub categories: Option<Vec<ThreadCategory>>,
    pub media_categories: Option<Vec<Media>>,
}

#[skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ThreadCategory {
    pub id: i32,
    pub name: Option<String>,
}

#[skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ThreadComment {
    pub id: i32,
    pub user_id: Option<i32>,
    pub thread_id: Option<i32>,
    pub comment: Option<String>,
    pub as_html: Option<bool>,
    pub like_count: Option<i32>,
    pub is_liked: Option<bool>,
    pub site_url: Option<String>,
    pub created_at: Option<i32>,
    pub updated_at: Option<i32>,
    pub thread: Option<Thread>,
    pub user: Option<User>,
    pub likes: Option<Vec<User>>,
    pub child_comments: Option<Json>,
    pub is_locked: Option<bool>,
}