use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize)]
pub(crate) struct MappingJob<'a> {
#[serde(rename = "idType")]
pub id_type: &'a str,
#[serde(rename = "idValue")]
pub id_value: &'a str,
}
#[derive(Debug, Clone, Deserialize)]
pub(crate) struct MappingResult {
#[serde(default)]
pub data: Option<Vec<FigiRecord>>,
#[serde(default)]
pub warning: Option<String>,
#[serde(default)]
pub error: Option<String>,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct FigiRecord {
pub figi: String,
#[serde(default)]
pub ticker: Option<String>,
#[serde(default)]
pub name: Option<String>,
#[serde(default, rename = "exchCode")]
pub exch_code: Option<String>,
#[serde(default, rename = "compositeFIGI")]
pub composite_figi: Option<String>,
#[serde(default, rename = "shareClassFIGI")]
pub share_class_figi: Option<String>,
#[serde(default)]
pub security_type: Option<String>,
#[serde(default)]
pub market_sector: Option<String>,
}