use serde::{Deserialize, Serialize};
use crate::{
endpoint::ResourceEndpoint,
fields::common::{Country, DocumentDates},
};
pub type DisastersEndpoint<'c> = ResourceEndpoint<'c, DisasterFields>;
#[derive(Debug, Serialize, Deserialize)]
pub struct DisasterFields {
pub id: Option<i64>,
pub name: Option<String>,
pub description: Option<String>,
pub status: Option<String>,
pub glide: Option<String>,
pub primary_country: Option<Country>,
pub primary_type: Option<Type>,
pub country: Option<Vec<Country>>,
#[serde(rename = "type")]
pub disaster_fields_type: Option<Vec<Type>>,
pub url: Option<String>,
pub url_alias: Option<String>,
pub date: Option<DocumentDates>,
#[serde(rename = "description-html")]
pub description_html: Option<String>,
pub profile: Option<Profile>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Type {
pub id: Option<i64>,
pub name: Option<String>,
pub code: Option<String>,
pub primary: Option<bool>,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct Profile {
pub overview: Option<String>,
pub overview_html: Option<String>,
}