use crate::models::{Device, PresenceStatus};
use serde::Deserialize;
#[cfg(feature = "client")]
use serde::Serialize;
#[derive(Debug, Deserialize)]
#[cfg_attr(feature = "client", derive(Serialize))]
#[serde(tag = "op", rename_all = "snake_case")]
pub enum InboundMessage {
Identify {
token: String,
#[serde(default)]
status: PresenceStatus,
custom_status: Option<String>,
device: Device,
},
Ping,
Pong,
UpdatePresence {
status: PresenceStatus,
custom_status: Option<String>,
},
}