use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MarketCapData {
#[serde(rename = "atDate")]
pub at_date: String,
#[serde(rename = "marketCapitalization")]
pub market_capitalization: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HistoricalMarketCapData {
pub symbol: String,
pub currency: String,
pub data: Vec<MarketCapData>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EmployeeCountData {
#[serde(rename = "atDate")]
pub at_date: String,
#[serde(rename = "employeeTotal")]
pub employee_total: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HistoricalEmployeeCount {
pub symbol: String,
pub data: Vec<EmployeeCountData>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ESGData {
#[serde(rename = "atDate")]
pub at_date: String,
#[serde(rename = "environmentScore")]
pub environment_score: Option<f64>,
#[serde(rename = "governanceScore")]
pub governance_score: Option<f64>,
#[serde(rename = "socialScore")]
pub social_score: Option<f64>,
#[serde(rename = "totalScore")]
pub total_score: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HistoricalESG {
pub symbol: String,
pub data: Vec<ESGData>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HistoricalNBBO {
pub s: String,
pub total: i64,
pub skip: i64,
pub count: i64,
pub t: Vec<i64>,
pub a: Vec<f64>,
pub av: Vec<i64>,
pub ax: Vec<String>,
pub b: Vec<f64>,
pub bv: Vec<i64>,
pub bx: Vec<String>,
pub c: Vec<Vec<String>>,
}