bangumi_api/module/revision/
model.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct RevisionCommon {
8 pub id: u32,
10 pub r#type: u32,
12 pub creator: Option<Creator>,
14 pub summary: String,
16 pub created_at: String,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct Creator {
25 pub username: String,
27 pub nickname: String,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
35pub struct RevisionPerson {
36 pub id: u32,
38 pub r#type: u32,
40 pub creator: Option<Creator>,
42 pub summary: String,
44 pub created_at: String,
46 pub data: Option<std::collections::HashMap<String, RevisionPersonDataItem>>,
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize)]
54pub struct RevisionPersonDataItem {
55 pub prsn_infobox: String,
57 pub prsn_summary: String,
59 pub profession: PersonRevisionProfession,
61 pub extra: RevisionExtra,
63 pub prsn_name: String,
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
71pub struct PersonRevisionProfession {
72 pub producer: Option<String>,
74 pub mangaka: Option<String>,
76 pub artist: Option<String>,
78 pub seiyu: Option<String>,
80 pub writer: Option<String>,
82 pub illustrator: Option<String>,
84 pub actor: Option<String>,
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
92pub struct RevisionExtra {
93 pub img: Option<String>,
95}
96
97#[derive(Debug, Clone, Serialize, Deserialize)]
101pub struct RevisionCharacter {
102 pub id: u32,
104 pub r#type: u32,
106 pub creator: Option<Creator>,
108 pub summary: String,
110 pub created_at: String,
112 pub data: Option<std::collections::HashMap<String, RevisionCharacterDataItem>>,
114}
115
116#[derive(Debug, Clone, Serialize, Deserialize)]
120pub struct RevisionCharacterDataItem {
121 pub infobox: String,
123 pub summary: String,
125 pub name: String,
127 pub extra: RevisionExtra,
129}
130
131#[derive(Debug, Clone, Serialize, Deserialize)]
135pub struct RevisionSubject {
136 pub id: u32,
138 pub r#type: u32,
140 pub creator: Option<Creator>,
142 pub summary: String,
144 pub created_at: String,
146 pub data: Option<RevisionSubjectData>,
148}
149
150#[derive(Debug, Clone, Serialize, Deserialize)]
154pub struct RevisionSubjectData {
155 pub field_eps: u32,
157 pub field_infobox: String,
159 pub field_summary: String,
161 pub name: String,
163 pub name_cn: String,
165 pub platform: u32,
167 pub subject_id: u32,
169 pub r#type: u32,
171 pub type_id: u32,
173 pub vote_field: String,
175}
176
177#[derive(Debug, Clone, Serialize, Deserialize)]
181pub struct RevisionEpisode {
182 pub id: u32,
184 pub r#type: u32,
186 pub creator: Option<Creator>,
188 pub summary: String,
190 pub created_at: String,
192 pub data: Option<serde_json::Value>,
194}