use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct PingParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PingRequest {
#[serde(flatten)]
pub params: PingParams,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PingResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[serde(rename = "_meta", skip_serializing_if = "Option::is_none")]
pub _meta: Option<serde_json::Value>,
}
impl PingResult {
pub fn new(data: Option<serde_json::Value>) -> Self {
Self { data, _meta: None }
}
pub fn empty() -> Self {
Self::new(None)
}
pub fn with_meta(mut self, meta: serde_json::Value) -> Self {
self._meta = Some(meta);
self
}
}