Skip to main content

shuriken_api_types/
platform.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4#[serde(rename_all = "lowercase")]
5pub enum Platform {
6    Discord,
7    Telegram,
8    X,
9    Unknown,
10}
11
12impl Platform {
13    pub fn from_proto_i32(value: i32) -> Self {
14        match value {
15            1 => Self::Discord,
16            2 => Self::Telegram,
17            3 => Self::X,
18            _ => Self::Unknown,
19        }
20    }
21
22    pub fn as_str(&self) -> &'static str {
23        match self {
24            Self::Discord => "discord",
25            Self::Telegram => "telegram",
26            Self::X => "x",
27            Self::Unknown => "unknown",
28        }
29    }
30}