Fixed up a couple of fields

This commit is contained in:
2025-02-08 01:19:32 +00:00
parent d868ef1e90
commit f0d851ebb3

View File

@@ -7,12 +7,13 @@ use uuid::Uuid;
// https://scryfall.com/docs/api/cards // https://scryfall.com/docs/api/cards
#[allow(dead_code)] #[allow(dead_code)]
#[derive(Deserialize, Debug)] #[derive(Deserialize, Debug)]
#[serde(deny_unknown_fields)]
struct ScryfallCard { struct ScryfallCard {
// Core Card Fields // Core Card Fields
pub arena_id: Option<u64>, pub arena_id: Option<u64>,
pub id: Uuid, pub id: Uuid,
pub lang: String, pub lang: String,
pub mtgo: Option<u64>, pub mtgo_id: Option<u64>,
pub mtgo_foil_id: Option<u64>, pub mtgo_foil_id: Option<u64>,
pub multiverse_ids: Option<Vec<u64>>, pub multiverse_ids: Option<Vec<u64>>,
pub tcgplayer_id: Option<u64>, pub tcgplayer_id: Option<u64>,
@@ -41,7 +42,7 @@ struct ScryfallCard {
#[serde(rename = "colors")] #[serde(rename = "colors")]
pub colours: Option<Vec<Colour>>, pub colours: Option<Vec<Colour>>,
pub edhrec_rank: Option<u64>, pub edhrec_rank: Option<u64>,
pub defence: Option<String>, pub defense: Option<String>,
pub hand_modifier: Option<String>, pub hand_modifier: Option<String>,
pub keywords: Vec<String>, // Words like "Flying" pub keywords: Vec<String>, // Words like "Flying"
pub legalities: FormatLegalities, pub legalities: FormatLegalities,
@@ -107,12 +108,12 @@ struct ScryfallCard {
pub variation_of: Option<Uuid>, pub variation_of: Option<Uuid>,
pub security_stamp: Option<SecurityStamp>, pub security_stamp: Option<SecurityStamp>,
pub watermark: Option<String>, pub watermark: Option<String>,
#[serde(rename = "preview.previewed_at")] pub preview: Option<Preview>,
pub preview_previewed_at: Option<NaiveDate>,
#[serde(rename = "preview.source_uri")]
pub preview_source_uri: Option<String>, // URI // These aren't in the Scryfall docs, but some cards do have 'em
#[serde(rename = "preview.source")] pub foil: Option<bool>,
pub preview_source: Option<String>, pub nonfoil: Option<bool>,
} }
// https://scryfall.com/docs/api/cards#card-face-objects // https://scryfall.com/docs/api/cards#card-face-objects
@@ -128,7 +129,7 @@ struct ScryfallCardFaceObject {
pub colour_indicator: Option<Vec<Colour>>, pub colour_indicator: Option<Vec<Colour>>,
#[serde(rename = "colors")] #[serde(rename = "colors")]
pub colours: Option<Vec<Colour>>, pub colours: Option<Vec<Colour>>,
pub defence: Option<String>, pub defense: Option<String>,
pub flavour_text: Option<String>, pub flavour_text: Option<String>,
pub illustration_id: Option<Uuid>, pub illustration_id: Option<Uuid>,
pub image_uris: Option<ImageURIs>, pub image_uris: Option<ImageURIs>,
@@ -357,6 +358,14 @@ struct ImageURIs {
small: Option<String>, small: Option<String>,
} }
#[allow(dead_code)]
#[derive(Deserialize, Debug)]
struct Preview {
pub previewed_at: Option<NaiveDate>,
pub source_uri: Option<String>, // URI
pub source: Option<String>,
}
#[allow(dead_code)] #[allow(dead_code)]
#[derive(Deserialize, Debug)] #[derive(Deserialize, Debug)]
struct Prices { struct Prices {