use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct EsgScore {
pub symbol: String,
pub company_name: Option<String>,
pub esg_score: Option<f64>,
pub environment_score: Option<f64>,
pub social_score: Option<f64>,
pub governance_score: Option<f64>,
pub esg_performance: Option<String>,
pub date: Option<String>,
pub industry: Option<String>,
pub year: Option<String>,
pub form_type: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct EsgRiskRating {
pub symbol: String,
pub company_name: Option<String>,
pub industry: Option<String>,
pub year: Option<String>,
pub esg_risk_score: Option<f64>,
pub industry_rank: Option<String>,
pub esg_risk_percentile: Option<f64>,
pub esg_risk_level: Option<String>,
pub environment_risk_score: Option<f64>,
pub governance_risk_score: Option<f64>,
pub social_risk_score: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct EsgBenchmark {
pub year: Option<String>,
pub industry: Option<String>,
pub esg_benchmark: Option<f64>,
pub environment_benchmark: Option<f64>,
pub social_benchmark: Option<f64>,
pub governance_benchmark: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CongressionalTrading {
pub disclosure_date: Option<String>,
pub transaction_date: Option<String>,
pub representative: Option<String>,
pub transaction: Option<String>,
pub ticker: Option<String>,
pub asset_description: Option<String>,
pub asset_type: Option<String>,
pub amount: Option<String>,
pub house: Option<String>,
pub party: Option<String>,
pub state: Option<String>,
pub district: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SenateTrading {
pub disclosure_date: Option<String>,
pub transaction_date: Option<String>,
pub senator: Option<String>,
pub transaction_type: Option<String>,
pub ticker: Option<String>,
pub asset_description: Option<String>,
pub asset_type: Option<String>,
pub amount: Option<String>,
pub party: Option<String>,
pub state: Option<String>,
pub date_received: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SocialSentiment {
pub date: String,
pub symbol: String,
pub stocktwits_posts: Option<i32>,
pub twitter_posts: Option<i32>,
pub twitter_comments: Option<i32>,
pub twitter_likes: Option<i32>,
pub twitter_sentiment: Option<f64>,
pub stocktwits_sentiment: Option<f64>,
pub general_sentiment: Option<String>,
}