use serde::{Deserialize, Serialize}; #[serde(deny_unknown_fields)] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub(crate) struct Card { pub(crate) url: String, pub(crate) title: String, pub(crate) description: String, pub(crate) r#type: CardType, pub(crate) author_name: Option, pub(crate) author_url: Option, pub(crate) provider_name: Option, pub(crate) provider_url: Option, pub(crate) html: Option, pub(crate) width: Option, pub(crate) height: Option, pub(crate) image: Option, pub(crate) embed_url: Option, } #[serde(rename_all = "lowercase", deny_unknown_fields)] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub(crate) enum CardType { Link, Photo, Video, Rich, }