twelvedata 0.7.0

A Rust client for the Twelve Data API
Documentation
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug)]
pub struct Stocks {
    pub data: Vec<Stock>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Stock {
    pub symbol: String,
    pub name: String,
    pub currency: String,
    pub exchange: String,
    pub mic_code: String,
    pub country: String,
    #[serde(rename = "type")]
    pub type_field: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct ForexPairs {
    pub data: Vec<ForexPair>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct ForexPair {
    pub symbol: String,
    pub currency_group: String,
    pub currency_base: String,
    pub currency_quote: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Cryptocurrencies {
    pub data: Vec<Cryptocurrency>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Cryptocurrency {
    pub symbol: String,
    pub available_exchanges: Vec<String>,
    pub currency_base: String,
    pub currency_quote: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct ETFs {
    pub data: Vec<ETF>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct ETF {
    pub symbol: String,
    pub name: String,
    pub currency: String,
    pub exchange: String,
    pub mic_code: String,
    pub country: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Indices {
    pub data: Vec<Index>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Index {
    pub symbol: String,
    pub name: String,
    pub country: String,
    pub currency: String,
    pub exchange: String,
    pub mic_code: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Exchanges {
    pub data: Vec<Exchange>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Exchange {
    pub name: String,
    pub code: String,
    pub country: String,
    pub timezone: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct CryptoExchanges {
    pub data: Vec<CryptoExchange>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct CryptoExchange {
    pub name: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct SymbolSearch {
    pub data: Vec<Symbol>,
    pub status: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Symbol {
    pub symbol: String,
    pub instrument_name: String,
    pub exchange: String,
    pub mic_code: String,
    pub exchange_timezone: String,
    pub instrument_type: String,
    pub country: String,
    pub currency: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct EarliestTimestamp {
    pub datetime: String,
    pub unix_time: i32,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Access {
    pub global: String,
    pub plan: String,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Fund {
    pub symbol: String,
    pub name: String,
    pub country: String,
    pub currency: String,
    pub exchange: String,
    #[serde(rename = "type")]
    pub fund_type: String,
    pub access: Option<Access>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Result {
    pub count: u32,
    pub list: Vec<Fund>,
}

#[derive(Serialize, Deserialize, Debug)]
pub struct Funds {
    pub result: Result,
    pub status: String,
}