anidb_api/http/models/anime/
anime_related.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
4pub(crate) struct AnimeRelatedList {
5    #[serde(rename = "anime")]
6    pub list: Vec<AnimeRelated>,
7}
8
9#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
10pub struct AnimeRelated {
11    #[serde(rename = "id")]
12    pub anime_id: String,
13    #[serde(rename = "type")]
14    pub anime_type: AnimeRelationType,
15    #[serde(rename(deserialize = "$value"))]
16    pub name: String,
17}
18
19#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
20pub enum AnimeRelationType {
21    /// Story that happens before the original.
22    Prequel,
23    /// Same setting, same characters, story is told differently.
24    #[serde(rename = "Alternative Version")]
25    AlternativeVersion,
26    /// Shares one or more characters, story is unrelated.
27    Character,
28    /// Unspecified relation.
29    Other,
30    /// Same characters, different universe/world/reality/timeline.
31    #[serde(rename = "Alternative Setting")]
32    AlternativeSetting,
33    /// Full version of the summarised story.
34    #[serde(rename = "Full Story")]
35    FullStory,
36    /// Summarises full story, may contain additional stuff.
37    Summary,
38    /// Same universe/world/reality/timeline, completely different characters.
39    #[serde(rename = "Same Setting")]
40    SameSetting,
41    /// Takes place sometime during the parent storyline.
42    #[serde(rename = "Side Story")]
43    SideStory,
44    /// Parent story for another story that takes place sometime during the same time.
45    #[serde(rename = "Parent Story")]
46    ParentStory,
47    /// Direct continuation of the story.
48    Sequel,
49}