tulpje_cache/event/
role.rs

1use twilight_model::gateway::payload::incoming::{RoleCreate, RoleDelete, RoleUpdate};
2
3use crate::UpdateCache;
4
5impl UpdateCache for RoleCreate {
6    async fn update(&self, cache: &crate::Cache) -> Result<(), crate::Error> {
7        cache.cache_role(self.guild_id, self.role.clone()).await?;
8        Ok(())
9    }
10}
11
12impl UpdateCache for RoleDelete {
13    async fn update(&self, cache: &crate::Cache) -> Result<(), crate::Error> {
14        cache.delete_role(self.guild_id, self.role_id).await?;
15        Ok(())
16    }
17}
18
19impl UpdateCache for RoleUpdate {
20    async fn update(&self, cache: &crate::Cache) -> Result<(), crate::Error> {
21        cache.cache_role(self.guild_id, self.role.clone()).await?;
22        Ok(())
23    }
24}