/*
 * Binance Spot WebSocket Streams
 *
 * OpenAPI Specifications for the Binance Spot WebSocket Streams
 *
 * API documents:
 * - [Github web-socket-streams documentation file](https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-streams.md)
 * - [General API information for web-socket-streams on website](https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams)
 *
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

#![allow(unused_imports)]
use crate::spot::websocket_streams::models;
use serde::{Deserialize, Deserializer, Serialize, de::Error};
use serde_json::Value;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AggTradeResponse {
    #[serde(rename = "e", skip_serializing_if = "Option::is_none")]
    pub e: Option<String>,
    #[serde(rename = "E", skip_serializing_if = "Option::is_none")]
    pub e_uppercase: Option<i64>,
    #[serde(rename = "s", skip_serializing_if = "Option::is_none")]
    pub s: Option<String>,
    #[serde(rename = "a", skip_serializing_if = "Option::is_none")]
    pub a: Option<i64>,
    #[serde(rename = "p", skip_serializing_if = "Option::is_none")]
    pub p: Option<String>,
    #[serde(rename = "q", skip_serializing_if = "Option::is_none")]
    pub q: Option<String>,
    #[serde(rename = "f", skip_serializing_if = "Option::is_none")]
    pub f: Option<i64>,
    #[serde(rename = "l", skip_serializing_if = "Option::is_none")]
    pub l: Option<i64>,
    #[serde(rename = "T", skip_serializing_if = "Option::is_none")]
    pub t_uppercase: Option<i64>,
    #[serde(rename = "m", skip_serializing_if = "Option::is_none")]
    pub m: Option<bool>,
    #[serde(rename = "M", skip_serializing_if = "Option::is_none")]
    pub m_uppercase: Option<bool>,
}

impl AggTradeResponse {
    #[must_use]
    pub fn new() -> AggTradeResponse {
        AggTradeResponse {
            e: None,
            e_uppercase: None,
            s: None,
            a: None,
            p: None,
            q: None,
            f: None,
            l: None,
            t_uppercase: None,
            m: None,
            m_uppercase: None,
        }
    }
}
