use alloc::{
string::{String, ToString},
vec::Vec,
};
use serde::{Deserialize, Serialize};
pub mod get;
pub mod set;
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JmapPushSubscription {
#[serde(default)]
pub id: String,
#[serde(default)]
pub device_client_id: Option<String>,
#[serde(default)]
pub verification_code: Option<String>,
#[serde(default)]
pub expires: Option<String>,
#[serde(default)]
pub types: Option<Vec<String>>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JmapPushVerification {
#[serde(rename = "@type", default = "default_type_tag")]
pub r#type: String,
pub push_subscription_id: String,
pub verification_code: String,
}
fn default_type_tag() -> String {
"PushVerification".to_string()
}