#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct OpenGraph {
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "determiner", skip_serializing_if = "Option::is_none")]
pub determiner: Option<String>,
#[serde(rename = "site_name", skip_serializing_if = "Option::is_none")]
pub site_name: Option<String>,
#[serde(rename = "locale", skip_serializing_if = "Option::is_none")]
pub locale: Option<String>,
#[serde(rename = "locales_alternate", skip_serializing_if = "Option::is_none")]
pub locales_alternate: Option<Vec<String>>,
#[serde(rename = "images", skip_serializing_if = "Option::is_none")]
pub images: Option<Vec<crate::models::OpenGraphImagesInner>>,
#[serde(rename = "videos", skip_serializing_if = "Option::is_none")]
pub videos: Option<Vec<crate::models::OpenGraphVideosInner>>,
#[serde(rename = "audios", skip_serializing_if = "Option::is_none")]
pub audios: Option<Vec<crate::models::OpenGraphAudiosInner>>,
#[serde(rename = "article", skip_serializing_if = "Option::is_none")]
pub article: Option<Box<crate::models::OpenGraphArticle>>,
#[serde(rename = "book", skip_serializing_if = "Option::is_none")]
pub book: Option<Box<crate::models::OpenGraphBook>>,
#[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
pub profile: Option<Box<crate::models::OpenGraphArticleAuthorsInner>>,
}
impl OpenGraph {
pub fn new() -> OpenGraph {
OpenGraph {
r#type: None,
url: None,
title: None,
description: None,
determiner: None,
site_name: None,
locale: None,
locales_alternate: None,
images: None,
videos: None,
audios: None,
article: None,
book: None,
profile: None,
}
}
}