From f0d851ebb34c8cf9ba11d4b39a55ea3c1b49d912 Mon Sep 17 00:00:00 2001 From: Arthur Roberts Date: Sat, 8 Feb 2025 01:19:32 +0000 Subject: [PATCH] Fixed up a couple of fields --- scryfall_deser/src/lib.rs | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/scryfall_deser/src/lib.rs b/scryfall_deser/src/lib.rs index 3cf3999..53b03b3 100644 --- a/scryfall_deser/src/lib.rs +++ b/scryfall_deser/src/lib.rs @@ -7,12 +7,13 @@ use uuid::Uuid; // https://scryfall.com/docs/api/cards #[allow(dead_code)] #[derive(Deserialize, Debug)] +#[serde(deny_unknown_fields)] struct ScryfallCard { // Core Card Fields pub arena_id: Option, pub id: Uuid, pub lang: String, - pub mtgo: Option, + pub mtgo_id: Option, pub mtgo_foil_id: Option, pub multiverse_ids: Option>, pub tcgplayer_id: Option, @@ -41,7 +42,7 @@ struct ScryfallCard { #[serde(rename = "colors")] pub colours: Option>, pub edhrec_rank: Option, - pub defence: Option, + pub defense: Option, pub hand_modifier: Option, pub keywords: Vec, // Words like "Flying" pub legalities: FormatLegalities, @@ -107,12 +108,12 @@ struct ScryfallCard { pub variation_of: Option, pub security_stamp: Option, pub watermark: Option, - #[serde(rename = "preview.previewed_at")] - pub preview_previewed_at: Option, - #[serde(rename = "preview.source_uri")] - pub preview_source_uri: Option, // URI - #[serde(rename = "preview.source")] - pub preview_source: Option, + pub preview: Option, + + + // These aren't in the Scryfall docs, but some cards do have 'em + pub foil: Option, + pub nonfoil: Option, } // https://scryfall.com/docs/api/cards#card-face-objects @@ -128,7 +129,7 @@ struct ScryfallCardFaceObject { pub colour_indicator: Option>, #[serde(rename = "colors")] pub colours: Option>, - pub defence: Option, + pub defense: Option, pub flavour_text: Option, pub illustration_id: Option, pub image_uris: Option, @@ -357,6 +358,14 @@ struct ImageURIs { small: Option, } +#[allow(dead_code)] +#[derive(Deserialize, Debug)] +struct Preview { + pub previewed_at: Option, + pub source_uri: Option, // URI + pub source: Option, +} + #[allow(dead_code)] #[derive(Deserialize, Debug)] struct Prices {