use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
#[serde(tag = "operation", rename_all = "lowercase")]
pub enum Operation {
Create {
notification_key_name: String,
registration_ids: Vec<String>,
},
Add {
#[serde(skip_serializing_if = "Option::is_none")]
notification_key_name: Option<String>,
notification_key: String,
registration_ids: Vec<String>,
},
Remove {
#[serde(skip_serializing_if = "Option::is_none")]
notification_key_name: Option<String>,
notification_key: String,
registration_ids: Vec<String>,
},
}
#[derive(Debug, Deserialize, PartialEq, Eq, Hash)]
pub struct OperationResponse {
pub notification_key: String,
}