use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Country {
pub href: Option<String>,
pub id: Option<i64>,
pub name: Option<String>,
pub shortname: Option<String>,
pub iso3: Option<String>,
pub location: Option<Location>,
pub primary: Option<bool>,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Location {
pub lat: Option<f64>,
pub lon: Option<f64>,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct DocumentDates {
pub closing: Option<String>,
pub original: Option<String>,
pub changed: Option<String>,
pub created: Option<String>,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Descriptor {
pub id: Option<i64>,
pub name: Option<String>,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Language {
pub id: Option<i64>,
pub name: Option<String>,
pub code: Option<String>,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Source {
pub href: Option<String>,
pub id: Option<i64>,
pub name: Option<String>,
pub shortname: Option<String>,
pub longname: Option<String>,
pub spanish_name: Option<String>,
pub homepage: Option<String>,
#[serde(rename = "type")]
pub source_type: Option<Descriptor>,
}