use std::{collections::HashMap, sync::Arc}; use futures::lock::Mutex; use crate::{ Bot, Channel, ChannelCompositeKey, ChannelUnread, File, Invite, Member, MemberCompositeKey, Server, User, UserSettings, Webhook, }; database_derived!( /// Reference implementation #[derive(Default)] pub struct ReferenceDb { pub bots: Arc>>, pub channels: Arc>>, pub channel_invites: Arc>>, pub channel_unreads: Arc>>, pub channel_webhooks: Arc>>, pub user_settings: Arc>>, pub users: Arc>>, pub server_members: Arc>>, pub servers: Arc>>, pub files: Arc>>, pub server_bans: Arc>>, pub safety_reports: Arc>>, pub safety_snapshots: Arc>>, pub emoji: Arc>>, pub messages: Arc>>, } );