mirror of https://github.com/CympleTech/ESSE.git
29 changed files with 157 additions and 179 deletions
@ -1,14 +0,0 @@
@@ -1,14 +0,0 @@
|
||||
[package] |
||||
name = "chat_types" |
||||
version = "0.1.0" |
||||
authors = ["CympleTech <dev@cympletech.com>"] |
||||
edition = "2021" |
||||
readme = "README.md" |
||||
description = "ESSE common chat types." |
||||
repository = "https://github.com/cympletech/esse_types/chat" |
||||
keywords = ["distributed", "p2p", "chat", "ESSE"] |
||||
license = "MIT/Apache-2.0" |
||||
|
||||
[dependencies] |
||||
serde = { version = "1", features = ["derive"] } |
||||
tdn_types = { version = "0.7", default-features = false } |
@ -1,69 +0,0 @@
@@ -1,69 +0,0 @@
|
||||
use serde::{Deserialize, Serialize}; |
||||
use tdn_types::{group::GroupId, primitives::PeerId}; |
||||
|
||||
/// Chat service default TDN GROUP ID.
|
||||
#[rustfmt::skip] |
||||
pub const CHAT_ID: GroupId = 1; |
||||
|
||||
/// message type use in network.
|
||||
#[derive(Serialize, Deserialize, Clone)] |
||||
pub enum NetworkMessage { |
||||
String(String), // content
|
||||
Image(Vec<u8>), // image bytes.
|
||||
File(String, Vec<u8>), // filename, file bytes.
|
||||
Contact(PeerId, String, Vec<u8>), // PeerId, name, avatar bytes.
|
||||
Record(Vec<u8>, u32), // record audio bytes.
|
||||
Emoji, |
||||
Phone, |
||||
Video, |
||||
Invite(String), |
||||
Transfer(String), |
||||
} |
||||
|
||||
/// common message types.
|
||||
#[derive(Copy, Clone, Eq, PartialEq)] |
||||
pub enum MessageType { |
||||
String, |
||||
Image, |
||||
File, |
||||
Contact, |
||||
Record, |
||||
Emoji, |
||||
Phone, |
||||
Video, |
||||
Invite, |
||||
Transfer, |
||||
} |
||||
|
||||
impl MessageType { |
||||
pub fn to_int(&self) -> i64 { |
||||
match self { |
||||
MessageType::String => 0, |
||||
MessageType::Image => 1, |
||||
MessageType::File => 2, |
||||
MessageType::Contact => 3, |
||||
MessageType::Record => 4, |
||||
MessageType::Emoji => 5, |
||||
MessageType::Phone => 6, |
||||
MessageType::Video => 7, |
||||
MessageType::Invite => 8, |
||||
MessageType::Transfer => 9, |
||||
} |
||||
} |
||||
|
||||
pub fn from_int(i: i64) -> MessageType { |
||||
match i { |
||||
0 => MessageType::String, |
||||
1 => MessageType::Image, |
||||
2 => MessageType::File, |
||||
3 => MessageType::Contact, |
||||
4 => MessageType::Record, |
||||
5 => MessageType::Emoji, |
||||
6 => MessageType::Phone, |
||||
7 => MessageType::Video, |
||||
8 => MessageType::Invite, |
||||
9 => MessageType::Transfer, |
||||
_ => MessageType::String, |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue