bangumi_api/module/
model.rs1use serde::{Deserialize, Serialize};
2use serde_repr::{Deserialize_repr, Serialize_repr};
3
4#[derive(Deserialize, Debug)]
5pub struct Paged<T> {
6 pub total: u32,
8 pub limit: u32,
10 pub offset: u32,
12 pub data: Option<Vec<T>>,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
17pub struct Image {
18 pub large: String,
19 pub common: String,
20 pub medium: String,
21 pub small: String,
22 pub grid: String,
23}
24
25#[derive(Clone, Debug, Serialize, Deserialize)]
26#[serde(rename_all = "lowercase")]
27pub enum ImageType {
28 Large,
29 Common,
30 Medium,
31 Small,
32 Grid,
33}
34
35#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
36pub struct SimpleImage {
37 pub large: String,
38 pub medium: String,
39 pub small: String,
40 pub grid: String,
41}
42
43#[derive(Clone, Debug, Serialize, Deserialize)]
44#[serde(rename_all = "lowercase")]
45pub enum SimpleImageType {
46 Large,
47 Medium,
48 Small,
49 Grid,
50}
51
52#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
53#[serde(rename_all = "lowercase")]
54pub enum SearchSort {
55 Match,
56 Heat,
57 Rank,
58 Score,
59}
60
61#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
62#[serde(rename_all = "lowercase")]
63pub enum BrowseSort {
64 Match,
65 Heat,
66 Rank,
67 Score,
68}
69
70#[derive(Debug, Clone, Serialize, Deserialize)]
71pub struct Stat {
72 pub comments: i32,
73 pub collects: i32,
74}
75
76#[derive(Debug, Clone, Serialize_repr, Deserialize_repr)]
77#[repr(u8)]
78pub enum BloodType {
79 A = 1,
80 B = 2,
81 AB = 3,
82 O = 4,
83}
84
85#[derive(Clone, Debug, Serialize, Deserialize)]
86pub struct Tag {
87 pub name: String,
88 pub count: u32,
89 pub total_cont: u32,
90}
91
92pub type InfoBox = Vec<InfoBoxItem>;
93
94#[derive(Clone, Debug, Serialize, Deserialize)]
95pub struct InfoBoxItem {
96 pub key: String,
97 pub value: serde_json::Value,
98}