add: channels, messages
This commit is contained in:
parent
67492cf73f
commit
7774124bd0
40 changed files with 2238 additions and 115 deletions
23
crates/core/src/model/socket.rs
Normal file
23
crates/core/src/model/socket.rs
Normal file
|
@ -0,0 +1,23 @@
|
|||
use serde::{Serialize, Deserialize, de::DeserializeOwned};
|
||||
|
||||
#[derive(Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub enum SocketMethod {
|
||||
/// Authentication and channel identification.
|
||||
Headers,
|
||||
/// A message was sent in the channel.
|
||||
Message,
|
||||
/// A message was deleted in the channel.
|
||||
Delete,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct SocketMessage {
|
||||
pub method: SocketMethod,
|
||||
pub data: String,
|
||||
}
|
||||
|
||||
impl SocketMessage {
|
||||
pub fn data<T: DeserializeOwned>(&self) -> T {
|
||||
serde_json::from_str(&self.data).unwrap()
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue