diff options
Diffstat (limited to 'src/emotes.rs')
| -rw-r--r-- | src/emotes.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/emotes.rs b/src/emotes.rs index 7242f82..c602f84 100644 --- a/src/emotes.rs +++ b/src/emotes.rs @@ -1,6 +1,12 @@ use reqwest::Error; use serde::{Deserialize, Serialize}; +pub trait EmoteBase { + fn get_id(&self) -> &String; + fn get_code(&self) -> &String; + fn get_original_code(&self) -> &Option<String>; +} + #[derive(Deserialize, Serialize, Clone, Debug)] pub struct Emote { pub id: String, @@ -8,6 +14,20 @@ pub struct Emote { pub original_code: Option<String>, } +impl EmoteBase for Emote { + fn get_id(&self) -> &String { + &self.id + } + + fn get_code(&self) -> &String { + &self.code + } + + fn get_original_code(&self) -> &Option<String> { + &self.original_code + } +} + pub trait RetrieveEmoteAPI<T> { async fn get_channel_emotes(&self, channel_login: &str) -> Result<Vec<T>, Error>; async fn get_global_emotes(&self) -> Result<Vec<T>, Error>; |
