revolt_database/models/user_settings/
model.rs1use std::collections::HashMap;
2
3use crate::{events::client::EventV1, Database};
4
5use revolt_result::Result;
6
7pub type UserSettings = HashMap<String, (i64, String)>;
8
9#[async_trait]
10pub trait UserSettingsImpl {
11 async fn set(self, db: &Database, user: &str) -> Result<()>;
12}
13
14#[async_trait]
15impl UserSettingsImpl for UserSettings {
16 async fn set(self, db: &Database, user: &str) -> Result<()> {
17 db.set_user_settings(user, &self).await?;
18
19 EventV1::UserSettingsUpdate {
20 id: user.to_string(),
21 update: self,
22 }
23 .private(user.to_string())
24 .await;
25
26 Ok(())
27 }
28}