Files
handmade-revolt-backend/crates/quark/src/traits/channels/channel_unread.rs
2022-06-02 12:17:30 +01:00

23 lines
678 B
Rust

use crate::models::channel_unread::ChannelUnread;
use crate::Result;
#[async_trait]
pub trait AbstractChannelUnread: Sync + Send {
/// Acknowledge a message.
async fn acknowledge_message(&self, channel: &str, user: &str, message: &str) -> Result<()>;
/// Acknowledge many channels.
async fn acknowledge_channels(&self, user: &str, channels: &[String]) -> Result<()>;
/// Add a mention.
async fn add_mention_to_unread<'a>(
&self,
channel: &str,
user: &str,
ids: &[String],
) -> Result<()>;
/// Fetch all channel unreads for a user.
async fn fetch_unreads(&self, user: &str) -> Result<Vec<ChannelUnread>>;
}