revolt_database/models/emojis/
ops.rs1use revolt_result::Result;
2
3use crate::Emoji;
4
5#[cfg(feature = "mongodb")]
6mod mongodb;
7mod reference;
8
9#[async_trait]
10pub trait AbstractEmojis: Sync + Send {
11 async fn insert_emoji(&self, emoji: &Emoji) -> Result<()>;
13
14 async fn fetch_emoji(&self, id: &str) -> Result<Emoji>;
16
17 async fn fetch_emoji_by_parent_id(&self, parent_id: &str) -> Result<Vec<Emoji>>;
19
20 async fn fetch_emoji_by_parent_ids(&self, parent_ids: &[String]) -> Result<Vec<Emoji>>;
22
23 async fn detach_emoji(&self, emoji: &Emoji) -> Result<()>;
25}