tulpje_cache/event/
thread.rs

1use twilight_model::gateway::payload::incoming::{
2    ThreadCreate, ThreadDelete, ThreadListSync, ThreadUpdate,
3};
4
5use crate::{Error, UpdateCache};
6
7impl UpdateCache for ThreadCreate {
8    async fn update(&self, cache: &crate::Cache) -> Result<(), Error> {
9        cache.cache_channel(self.0.clone()).await?;
10        Ok(())
11    }
12}
13
14impl UpdateCache for ThreadDelete {
15    async fn update(&self, cache: &crate::Cache) -> Result<(), Error> {
16        cache.delete_channel(self.id).await?;
17        Ok(())
18    }
19}
20
21impl UpdateCache for ThreadListSync {
22    async fn update(&self, cache: &crate::Cache) -> Result<(), Error> {
23        cache.cache_channels(self.threads.clone()).await?;
24        Ok(())
25    }
26}
27
28impl UpdateCache for ThreadUpdate {
29    async fn update(&self, cache: &crate::Cache) -> Result<(), Error> {
30        cache.cache_channel(self.0.clone()).await?;
31        Ok(())
32    }
33}