mtgapi_client/model/
set.rs1use chrono::NaiveDate;
2
3#[derive(Serialize, Deserialize, Debug)]
5#[serde(deny_unknown_fields, untagged)]
6pub(crate) enum SetsDto {
7 Error {
8 status: Option<String>,
9 error: String,
10 },
11 Sets {
12 sets: Vec<SetDetail>,
13 },
14}
15
16#[derive(Serialize, Deserialize, Debug)]
18#[serde(deny_unknown_fields, untagged)]
19pub(crate) enum SetDto {
20 Error {
21 status: Option<String>,
22 error: String,
23 },
24 Set {
25 set: Box<SetDetail>,
26 },
27}
28
29#[derive(Serialize, Deserialize, Debug)]
30#[serde(rename_all = "camelCase", deny_unknown_fields)]
31pub struct SetDetail {
32 pub code: String,
33 pub name: String,
34 #[serde(rename = "types")]
35 pub type_: String,
36 pub block: Option<String>,
37 pub gatherer_code: Option<String>,
38 pub old_code: Option<String>,
39 pub magic_cards_info_code: Option<String>,
40 pub release_date: NaiveDate,
41 pub border: String,
42 pub expansion: Option<String>,
43 pub online_only: Option<bool>,
44 #[serde(default)]
45 pub booster: Vec<Booster>,
46 #[serde(rename = "mkm_name")]
47 pub mkm_name: Option<String>,
48 #[serde(rename = "mkm_id")]
49 pub mkm_id: Option<u32>,
50}
51
52#[derive(Serialize, Deserialize, Debug)]
53#[serde(untagged)]
54pub enum Booster {
55 Multiple(Vec<String>),
56 Single(String),
57}