Skip to content

Commit

Permalink
all optionally
Browse files Browse the repository at this point in the history
  • Loading branch information
7jrxt42BxFZo4iAnN4CX committed Jan 18, 2025
1 parent a87293e commit 67968d9
Showing 1 changed file with 132 additions and 131 deletions.
263 changes: 132 additions & 131 deletions src/quotes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -399,37 +399,37 @@ impl YQuoteSummary {
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct YSummaryData {
pub asset_profile: AssetProfile,
pub summary_detail: SummaryDetail,
pub default_key_statistics: DefaultKeyStatistics,
pub quote_type: QuoteType,
pub financial_data: FinancialData,
pub asset_profile: Option<AssetProfile>,
pub summary_detail: Option<SummaryDetail>,
pub default_key_statistics: Option<DefaultKeyStatistics>,
pub quote_type: Option<QuoteType>,
pub financial_data: Option<FinancialData>,
}

#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct AssetProfile {
pub address1: String,
pub city: String,
pub state: String,
pub zip: String,
pub country: String,
pub phone: String,
pub website: String,
pub industry: String,
pub sector: String,
pub long_business_summary: String,
pub full_time_employees: u32,
pub address1: Option<String>,
pub city: Option<String>,
pub state: Option<String>,
pub zip: Option<String>,
pub country: Option<String>,
pub phone: Option<String>,
pub website: Option<String>,
pub industry: Option<String>,
pub sector: Option<String>,
pub long_business_summary: Option<String>,
pub full_time_employees: Option<u32>,
pub company_officers: Vec<CompanyOfficer>,
pub audit_risk: u16,
pub board_risk: u16,
pub compensation_risk: u16,
pub share_holder_rights_risk: u16,
pub overall_risk: u16,
pub governance_epoch_date: u32,
pub compensation_as_of_epoch_date: u32,
pub ir_website: String,
pub max_age: u32,
pub audit_risk: Option<u16>,
pub board_risk: Option<u16>,
pub compensation_risk: Option<u16>,
pub share_holder_rights_risk: Option<u16>,
pub overall_risk: Option<u16>,
pub governance_epoch_date: Option<u32>,
pub compensation_as_of_epoch_date: Option<u32>,
pub ir_website: Option<String>,
pub max_age: Option<u32>,
}

#[derive(Deserialize, Debug)]
Expand All @@ -454,147 +454,148 @@ pub struct ValueWrapper {
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct SummaryDetail {
pub max_age: i64,
pub price_hint: i64,
pub previous_close: f64,
pub open: f64,
pub day_low: f64,
pub day_high: f64,
pub max_age: Option<i64>,
pub price_hint: Option<i64>,
pub previous_close: Option<f64>,
pub open: Option<f64>,
pub day_low: Option<f64>,
pub day_high: Option<f64>,
pub regular_market_previous_close: f64,
pub regular_market_open: f64,
pub regular_market_day_low: f64,
pub regular_market_day_high: f64,
pub dividend_rate: f64,
pub dividend_yield: f64,
pub ex_dividend_date: i64,
pub payout_ratio: f64,
pub five_year_avg_dividend_yield: f64,
pub beta: f64,
pub regular_market_open: Option<f64>,
pub regular_market_day_low: Option<f64>,
pub regular_market_day_high: Option<f64>,
pub dividend_rate: Option<f64>,
pub dividend_yield: Option<f64>,
pub ex_dividend_date: Option<i64>,
pub payout_ratio: Option<f64>,
pub five_year_avg_dividend_yield: Option<f64>,
pub beta: Option<f64>,
#[serde(rename = "trailingPE")]
pub trailing_pe: f64,
pub trailing_pe: Option<f64>,
#[serde(rename = "forwardPE")]
pub forward_pe: f64,
pub volume: u64,
pub regular_market_volume: u64,
pub average_volume: u64,
pub forward_pe: Option<f64>,
pub volume: Option<u64>,
pub regular_market_volume: Option<u64>,
pub average_volume: Option<u64>,
#[serde(rename = "averageVolume10days")]
pub average_volume_10days: u64,
pub average_volume_10days: Option<u64>,
#[serde(rename = "averageDailyVolume10Day")]
pub average_daily_volume_10day: u64,
pub bid: f64,
pub ask: f64,
pub bid_size: i64,
pub ask_size: i64,
pub market_cap: u64,
pub fifty_two_week_low: f64,
pub fifty_two_week_high: f64,
pub average_daily_volume_10day: Option<u64>,
pub bid: Option<f64>,
pub ask: Option<f64>,
pub bid_size: Option<i64>,
pub ask_size: Option<i64>,
pub market_cap: Option<u64>,
pub fifty_two_week_low: Option<f64>,
pub fifty_two_week_high: Option<f64>,
#[serde(rename = "priceToSalesTrailing12Months")]
pub price_to_sales_trailing12months: f64,
pub fifty_day_average: f64,
pub two_hundred_day_average: f64,
pub trailing_annual_dividend_rate: f64,
pub trailing_annual_dividend_yield: f64,
pub currency: String,
pub price_to_sales_trailing12months: Option<f64>,
pub fifty_day_average: Option<f64>,
pub two_hundred_day_average: Option<f64>,
pub trailing_annual_dividend_rate: Option<f64>,
pub trailing_annual_dividend_yield: Option<f64>,
pub currency: Option<String>,
pub from_currency: Option<String>,
pub to_currency: Option<String>,
pub last_market: Option<String>,
pub coin_market_cap_link: Option<String>,
pub algorithm: Option<String>,
pub tradeable: bool,
pub tradeable: Option<bool>,
}

#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct DefaultKeyStatistics {
pub max_age: u64,
pub price_hint: u64,
pub enterprise_value: u64,
pub max_age: Option<u64>,
pub price_hint: Option<u64>,
pub enterprise_value: Option<u64>,
#[serde(rename = "forwardPE")]
pub forward_pe: f64,
pub profit_margins: f64,
pub float_shares: u64,
pub shares_outstanding: u64,
pub shares_short: u64,
pub shares_short_prior_month: u64,
pub shares_short_previous_month_date: u64,
pub date_short_interest: u64,
pub shares_percent_shares_out: f64,
pub held_percent_insiders: f64,
pub held_percent_institutions: f64,
pub short_ratio: f64,
pub short_percent_of_float: f64,
pub beta: f64,
pub implied_shares_outstanding: u64,
pub forward_pe: Option<f64>,
pub profit_margins: Option<f64>,
pub float_shares: Option<u64>,
pub shares_outstanding: Option<u64>,
pub shares_short: Option<u64>,
pub shares_short_prior_month: Option<u64>,
pub shares_short_previous_month_date: Option<u64>,
pub date_short_interest: Option<u64>,
pub shares_percent_shares_out: Option<f64>,
pub held_percent_insiders: Option<f64>,
pub held_percent_institutions: Option<f64>,
pub short_ratio: Option<f64>,
pub short_percent_of_float: Option<f64>,
pub beta: Option<f64>,
pub implied_shares_outstanding: Option<u64>,
pub category: Option<String>,
pub book_value: f64,
pub price_to_book: f64,
pub book_value: Option<f64>,
pub price_to_book: Option<f64>,
pub fund_family: Option<String>,
pub fundInceptionDate: Option<u32>,
pub legal_type: Option<String>,
pub last_fiscal_year_end: u64,
pub next_fiscal_year_end: u64,
pub most_recent_quarter: u64,
pub earnings_quarterly_growth: f64,
pub net_income_to_common: u64,
pub trailing_eps: f64,
pub forward_eps: f64,
pub last_split_factor: String,
pub last_split_date: u64,
pub enterprise_to_revenue: f64,
pub enterprise_to_ebitda: f64,
pub last_fiscal_year_end: Option<u64>,
pub next_fiscal_year_end: Option<u64>,
pub most_recent_quarter: Option<u64>,
pub earnings_quarterly_growth: Option<f64>,
pub net_income_to_common: Option<u64>,
pub trailing_eps: Option<f64>,
pub forward_eps: Option<f64>,
pub last_split_factor: Option<String>,
pub last_split_date: Option<u64>,
pub enterprise_to_revenue: Option<f64>,
pub enterprise_to_ebitda: Option<f64>,
#[serde(rename = "52WeekChange")]
pub fifty_two_week_change: f64,
pub fifty_two_week_change: Option<f64>,
#[serde(rename = "SandP52WeekChange")]
pub sand_p_fifty_two_week_change: f64,
pub last_dividend_value: f64,
pub last_dividend_date: u64,
pub sand_p_fifty_two_week_change: Option<f64>,
pub last_dividend_value: Option<f64>,
pub last_dividend_date: Option<u64>,
pub latest_share_class: Option<String>,
pub lead_investor: Option<String>,
}

#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct QuoteType {
pub exchange: String,
pub symbol: String,
pub long_name: String,
pub exchange: Option<String>,
pub symbol: Option<String>,
pub long_name: Option<String>,
#[serde(rename = "timeZoneFullName")]
pub timezone_full_name: String,
pub uuid: String,
pub timezone_full_name: Option<String>,
pub uuid: Option<String>,
}

#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct FinancialData {
pub max_age: u64,
pub current_price: f64,
pub target_high_price: f64,
pub target_low_price: f64,
pub target_mean_price: f64,
pub target_median_price: f64,
pub recommendation_mean: f64,
pub recommendation_key: String,
pub number_of_analyst_opinions: u64,
pub total_cash: u64,
pub total_cash_per_share: f64,
pub ebitda: u64,
pub total_debt: u64,
pub quick_ratio: f64,
pub current_ratio: f64,
pub total_revenue: u64,
pub debt_to_equity: f64,
pub revenue_per_share: f64,
pub return_on_assets: f64,
pub return_on_equity: f64,
pub gross_profits: u64,
pub free_cashflow: u64,
pub operating_cashflow: u64,
pub earnings_growth: f64,
pub revenue_growth: f64,
pub gross_margins: f64,
pub ebitda_margins: f64,
pub operating_margins: f64,
pub profit_margins: f64,
pub financial_currency: String,
pub max_age: Option<u64>,
pub current_price: Option<f64>,
pub target_high_price: Option<f64>,
pub target_low_price: Option<f64>,
pub target_mean_price: Option<f64>,
pub target_median_price: Option<f64>,
pub recommendation_mean: Option<f64>,
pub recommendation_key: Option<String>,
pub number_of_analyst_opinions: Option<u64>,
pub total_cash: Option<u64>,
pub total_cash_per_share: Option<f64>,
pub ebitda: Option<u64>,
pub total_debt: Option<u64>,
pub quick_ratio: Option<f64>,
pub current_ratio: Option<f64>,
pub total_revenue: Option<u64>,
pub debt_to_equity: Option<f64>,
pub revenue_per_share: Option<f64>,
pub return_on_assets: Option<f64>,
pub return_on_equity: Option<f64>,
pub gross_profits: Option<u64>,
pub free_cashflow: Option<u64>,
pub operating_cashflow: Option<u64>,
pub earnings_growth: Option<f64>,
pub revenue_growth: Option<f64>,
pub gross_margins: Option<f64>,
pub ebitda_margins: Option<f64>,
pub operating_margins: Option<f64>,
pub profit_margins: Option<f64>,
pub financial_currency: Option<String>,
}

#[cfg(test)]
Expand Down

0 comments on commit 67968d9

Please sign in to comment.