use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct CpapiSessionResponse {
pub authenticated: bool,
pub competing: Option<bool>,
pub message: Option<String>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct CpapiTickleResponse {
pub ok: bool,
pub message: Option<String>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct CpapiAccountsResponse {
pub accounts: Vec<CpapiAccount>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct CpapiAccount {
pub account_id: String,
pub account_label: Option<String>,
pub account_mode: Option<String>,
pub base_currency: Option<String>,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CpapiJsonResponse {
pub value: serde_json::Value,
}
pub type CpapiContractsResponse = Vec<super::models::CpapiContractCandidate>;
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct CpapiContractCandidate {
pub contract_id: String,
pub symbol: String,
pub description: Option<String>,
pub asset_class: String,
pub exchange: Option<String>,
pub currency: String,
pub is_unique_match: bool,
}
pub type CpapiMarketSnapshotResponse = serde_json::Value;
pub type CpapiHistoricalBarsResponse = serde_json::Value;
pub type CpapiOrdersResponse = serde_json::Value;
pub type CpapiExecutionsResponse = serde_json::Value;
pub type CpapiPnlResponse = serde_json::Value;
pub type CpapiOrdersHistoryResponse = serde_json::Value;
pub type CpapiAccountMetadataResponse = serde_json::Value;