videocall_types/
lib.rs

1pub mod protos;
2
3use protobuf::Message;
4use yew_websocket::websocket::{Binary, Text};
5
6impl std::fmt::Display for protos::media_packet::media_packet::MediaType {
7    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
8        match self {
9            protos::media_packet::media_packet::MediaType::AUDIO => write!(f, "audio"),
10            protos::media_packet::media_packet::MediaType::VIDEO => write!(f, "video"),
11            protos::media_packet::media_packet::MediaType::SCREEN => write!(f, "screen"),
12            protos::media_packet::media_packet::MediaType::HEARTBEAT => write!(f, "heartbeat"),
13        }
14    }
15}
16
17impl std::fmt::Display for protos::packet_wrapper::packet_wrapper::PacketType {
18    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
19        match self {
20            protos::packet_wrapper::packet_wrapper::PacketType::AES_KEY => write!(f, "AES_KEY"),
21            protos::packet_wrapper::packet_wrapper::PacketType::RSA_PUB_KEY => {
22                write!(f, "RSA_PUB_KEY")
23            }
24            protos::packet_wrapper::packet_wrapper::PacketType::MEDIA => write!(f, "MEDIA"),
25            protos::packet_wrapper::packet_wrapper::PacketType::CONNECTION => {
26                write!(f, "CONNECTION")
27            }
28            protos::packet_wrapper::packet_wrapper::PacketType::DIAGNOSTICS => {
29                write!(f, "DIAGNOSTICS")
30            }
31        }
32    }
33}
34
35impl From<Text> for protos::packet_wrapper::PacketWrapper {
36    fn from(t: Text) -> Self {
37        protos::packet_wrapper::PacketWrapper::parse_from_bytes(&t.unwrap().into_bytes()).unwrap()
38    }
39}
40
41impl From<Binary> for protos::packet_wrapper::PacketWrapper {
42    fn from(bin: Binary) -> Self {
43        protos::packet_wrapper::PacketWrapper::parse_from_bytes(&bin.unwrap()).unwrap()
44    }
45}
46
47pub fn truthy(s: Option<&str>) -> bool {
48    if let Some(s) = s {
49        ["true".to_string(), "1".to_string()].contains(&s.to_lowercase())
50    } else {
51        false
52    }
53}