feat(core/database): implement user settings model

This commit is contained in:
Paul Makles
2023-04-26 17:53:46 +01:00
parent 08ccc43f8d
commit b5863c0104
7 changed files with 180 additions and 1 deletions

View File

@@ -2,14 +2,26 @@ use std::{collections::HashMap, sync::Arc};
use futures::lock::Mutex;
use crate::{Bot, File, User};
use crate::{Bot, File, User, UserSettings};
database_derived!(
/// Reference implementation
#[derive(Default)]
pub struct ReferenceDb {
pub bots: Arc<Mutex<HashMap<String, Bot>>>,
pub user_settings: Arc<Mutex<HashMap<String, UserSettings>>>,
pub users: Arc<Mutex<HashMap<String, User>>>,
pub files: Arc<Mutex<HashMap<String, File>>>,
pub servers: Arc<Mutex<HashMap<String, ()>>>,
pub server_bans: Arc<Mutex<HashMap<String, ()>>>,
pub server_members: Arc<Mutex<HashMap<String, ()>>>,
pub safety_reports: Arc<Mutex<HashMap<String, ()>>>,
pub safety_snapshots: Arc<Mutex<HashMap<String, ()>>>,
pub emoji: Arc<Mutex<HashMap<String, ()>>>,
pub messages: Arc<Mutex<HashMap<String, ()>>>,
pub channels: Arc<Mutex<HashMap<String, ()>>>,
pub channel_invites: Arc<Mutex<HashMap<String, ()>>>,
pub channel_unreads: Arc<Mutex<HashMap<String, ()>>>,
}
);