use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum ClientMessage {
Subscribe { topic: String },
Unsubscribe { topic: String },
Message {
topic: String,
event: String,
payload: serde_json::Value,
},
Ping,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum ServerMessage {
Subscribed { topic: String },
Unsubscribed { topic: String },
Push {
topic: String,
event: String,
payload: serde_json::Value,
},
Pong,
Error { message: String },
}