Struct revolt_database::ReferenceDb
source · pub struct ReferenceDb {Show 15 fields
pub bots: Arc<Mutex<HashMap<String, Bot>>>,
pub channels: Arc<Mutex<HashMap<String, Channel>>>,
pub channel_invites: Arc<Mutex<HashMap<String, Invite>>>,
pub channel_unreads: Arc<Mutex<HashMap<ChannelCompositeKey, ChannelUnread>>>,
pub channel_webhooks: Arc<Mutex<HashMap<String, Webhook>>>,
pub emojis: Arc<Mutex<HashMap<String, Emoji>>>,
pub files: Arc<Mutex<HashMap<String, File>>>,
pub messages: Arc<Mutex<HashMap<String, Message>>>,
pub user_settings: Arc<Mutex<HashMap<String, UserSettings>>>,
pub users: Arc<Mutex<HashMap<String, User>>>,
pub server_bans: Arc<Mutex<HashMap<MemberCompositeKey, ServerBan>>>,
pub server_members: Arc<Mutex<HashMap<MemberCompositeKey, Member>>>,
pub servers: Arc<Mutex<HashMap<String, Server>>>,
pub safety_reports: Arc<Mutex<HashMap<String, ()>>>,
pub safety_snapshots: Arc<Mutex<HashMap<String, ()>>>,
}Expand description
Reference implementation
Fields§
§bots: Arc<Mutex<HashMap<String, Bot>>>§channels: Arc<Mutex<HashMap<String, Channel>>>§channel_invites: Arc<Mutex<HashMap<String, Invite>>>§channel_unreads: Arc<Mutex<HashMap<ChannelCompositeKey, ChannelUnread>>>§channel_webhooks: Arc<Mutex<HashMap<String, Webhook>>>§emojis: Arc<Mutex<HashMap<String, Emoji>>>§files: Arc<Mutex<HashMap<String, File>>>§messages: Arc<Mutex<HashMap<String, Message>>>§user_settings: Arc<Mutex<HashMap<String, UserSettings>>>§users: Arc<Mutex<HashMap<String, User>>>§server_bans: Arc<Mutex<HashMap<MemberCompositeKey, ServerBan>>>§server_members: Arc<Mutex<HashMap<MemberCompositeKey, Member>>>§servers: Arc<Mutex<HashMap<String, Server>>>§safety_reports: Arc<Mutex<HashMap<String, ()>>>§safety_snapshots: Arc<Mutex<HashMap<String, ()>>>Trait Implementations§
source§impl AbstractAttachments for ReferenceDb
impl AbstractAttachments for ReferenceDb
source§fn insert_attachment<'life0, 'life1, 'async_trait>(
&'life0 self,
attachment: &'life1 File
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_attachment<'life0, 'life1, 'async_trait>( &'life0 self, attachment: &'life1 File ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert attachment into database.
source§fn find_and_use_attachment<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
id: &'life1 str,
_tag: &'life2 str,
_parent_type: &'life3 str,
_parent_id: &'life4 str
) -> Pin<Box<dyn Future<Output = Result<File>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn find_and_use_attachment<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>( &'life0 self, id: &'life1 str, _tag: &'life2 str, _parent_type: &'life3 str, _parent_id: &'life4 str ) -> Pin<Box<dyn Future<Output = Result<File>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,
Find an attachment by its details and mark it as used by a given parent.
source§fn mark_attachment_as_reported<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mark_attachment_as_reported<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Mark an attachment as having been reported.
source§impl AbstractBots for ReferenceDb
impl AbstractBots for ReferenceDb
source§fn insert_bot<'life0, 'life1, 'async_trait>(
&'life0 self,
bot: &'life1 Bot
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_bot<'life0, 'life1, 'async_trait>( &'life0 self, bot: &'life1 Bot ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert new bot into the database
source§fn fetch_bot<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Bot>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_bot<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Bot>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a bot by its id
source§fn fetch_bot_by_token<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Bot>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_bot_by_token<'life0, 'life1, 'async_trait>( &'life0 self, token: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Bot>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a bot by its token
source§fn fetch_bots_by_user<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<Bot>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_bots_by_user<'life0, 'life1, 'async_trait>( &'life0 self, user_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Bot>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch bots owned by a user
source§fn get_number_of_bots_by_user<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_number_of_bots_by_user<'life0, 'life1, 'async_trait>( &'life0 self, user_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get the number of bots owned by a user
source§fn update_bot<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
partial: &'life2 PartialBot,
remove: Vec<FieldsBot>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_bot<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, partial: &'life2 PartialBot, remove: Vec<FieldsBot> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Update bot with new information
source§impl AbstractChannelInvites for ReferenceDb
impl AbstractChannelInvites for ReferenceDb
source§fn insert_invite<'life0, 'life1, 'async_trait>(
&'life0 self,
invite: &'life1 Invite
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_invite<'life0, 'life1, 'async_trait>( &'life0 self, invite: &'life1 Invite ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new invite into the database
source§fn fetch_invite<'life0, 'life1, 'async_trait>(
&'life0 self,
code: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Invite>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_invite<'life0, 'life1, 'async_trait>( &'life0 self, code: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Invite>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch an invite by the code
source§impl AbstractChannelUnreads for ReferenceDb
impl AbstractChannelUnreads for ReferenceDb
source§fn acknowledge_message<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
channel_id: &'life1 str,
user_id: &'life2 str,
message_id: &'life3 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn acknowledge_message<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, channel_id: &'life1 str, user_id: &'life2 str, message_id: &'life3 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Acknowledge a message.
source§fn acknowledge_channels<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
channel_ids: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn acknowledge_channels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user_id: &'life1 str, channel_ids: &'life2 [String] ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Acknowledge many channels.
source§fn add_mention_to_unread<'a, 'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
channel_id: &'life1 str,
user_id: &'life2 str,
message_ids: &'life3 [String]
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_mention_to_unread<'a, 'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, channel_id: &'life1 str, user_id: &'life2 str, message_ids: &'life3 [String] ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Add a mention.
source§impl AbstractChannels for ReferenceDb
impl AbstractChannels for ReferenceDb
source§fn insert_channel<'life0, 'life1, 'async_trait>(
&'life0 self,
channel: &'life1 Channel
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_channel<'life0, 'life1, 'async_trait>( &'life0 self, channel: &'life1 Channel ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new channel in the database
source§fn fetch_channel<'life0, 'life1, 'async_trait>(
&'life0 self,
channel_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Channel>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_channel<'life0, 'life1, 'async_trait>( &'life0 self, channel_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Channel>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a channel from the database
source§fn fetch_channels<'a, 'life0, 'async_trait>(
&'life0 self,
ids: &'a [String]
) -> Pin<Box<dyn Future<Output = Result<Vec<Channel>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn fetch_channels<'a, 'life0, 'async_trait>( &'life0 self, ids: &'a [String] ) -> Pin<Box<dyn Future<Output = Result<Vec<Channel>>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait,
Fetch all channels from the database
source§fn find_direct_messages<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<Channel>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_direct_messages<'life0, 'life1, 'async_trait>( &'life0 self, user_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Channel>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch all direct messages for a user
source§fn add_user_to_group<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
channel_id: &'life1 str,
user_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_user_to_group<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, channel_id: &'life1 str, user_id: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Insert a user to a group
source§fn set_channel_role_permission<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
channel_id: &'life1 str,
role_id: &'life2 str,
permissions: OverrideField
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_channel_role_permission<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, channel_id: &'life1 str, role_id: &'life2 str, permissions: OverrideField ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Insert channel role permissions
fn find_saved_messages_channel<'life0, 'life1, 'async_trait>( &'life0 self, user_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Channel>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
fn find_direct_message_channel<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user_a: &'life1 str, user_b: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<Channel>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn update_channel<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, channel: &'life2 PartialChannel, remove: Vec<FieldsChannel> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn remove_user_from_group<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, channel: &'life1 str, user: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
fn delete_channel<'life0, 'life1, 'async_trait>( &'life0 self, channel: &'life1 Channel ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
source§impl AbstractEmojis for ReferenceDb
impl AbstractEmojis for ReferenceDb
source§fn insert_emoji<'life0, 'life1, 'async_trait>(
&'life0 self,
emoji: &'life1 Emoji
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_emoji<'life0, 'life1, 'async_trait>( &'life0 self, emoji: &'life1 Emoji ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert emoji into database.
source§fn fetch_emoji<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Emoji>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_emoji<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Emoji>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch an emoji by its id
source§fn fetch_emoji_by_parent_id<'life0, 'life1, 'async_trait>(
&'life0 self,
parent_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<Emoji>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_emoji_by_parent_id<'life0, 'life1, 'async_trait>( &'life0 self, parent_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Emoji>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch emoji by their parent id
source§impl AbstractMessages for ReferenceDb
impl AbstractMessages for ReferenceDb
source§fn insert_message<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 Message
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_message<'life0, 'life1, 'async_trait>( &'life0 self, message: &'life1 Message ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new message into the database
source§fn fetch_message<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Message>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_message<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Message>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a message by its id
source§fn fetch_messages<'life0, 'async_trait>(
&'life0 self,
query: MessageQuery
) -> Pin<Box<dyn Future<Output = Result<Vec<Message>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_messages<'life0, 'async_trait>( &'life0 self, query: MessageQuery ) -> Pin<Box<dyn Future<Output = Result<Vec<Message>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Fetch multiple messages by given query
source§fn update_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
message: &'life2 PartialMessage
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_message<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, message: &'life2 PartialMessage ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Update a given message with new information
source§fn append_message<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
append: &'life2 AppendMessage
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn append_message<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, append: &'life2 AppendMessage ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Append information to a given message
source§fn add_reaction<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 str,
emoji: &'life2 str,
user: &'life3 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_reaction<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, id: &'life1 str, emoji: &'life2 str, user: &'life3 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Add a new reaction to a message
source§fn remove_reaction<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 str,
emoji: &'life2 str,
user: &'life3 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn remove_reaction<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, id: &'life1 str, emoji: &'life2 str, user: &'life3 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Remove a reaction from a message
source§fn clear_reaction<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
emoji: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn clear_reaction<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, emoji: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Remove reaction from a message
source§fn delete_message<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_message<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Delete a message from the database by its id
source§fn delete_messages<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
channel: &'life1 str,
ids: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_messages<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, channel: &'life1 str, ids: &'life2 [String] ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Delete messages from a channel by their ids and corresponding channel id
source§impl AbstractMigrations for ReferenceDb
impl AbstractMigrations for ReferenceDb
source§impl AbstractRatelimitEvents for ReferenceDb
impl AbstractRatelimitEvents for ReferenceDb
source§fn insert_ratelimit_event<'life0, 'life1, 'async_trait>(
&'life0 self,
_event: &'life1 RatelimitEvent
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_ratelimit_event<'life0, 'life1, 'async_trait>( &'life0 self, _event: &'life1 RatelimitEvent ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new ratelimit event
source§fn has_ratelimited<'life0, 'life1, 'async_trait>(
&'life0 self,
_target_id: &'life1 str,
_event_type: RatelimitEventType,
_period: Duration,
_count: usize
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn has_ratelimited<'life0, 'life1, 'async_trait>( &'life0 self, _target_id: &'life1 str, _event_type: RatelimitEventType, _period: Duration, _count: usize ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Count number of events in given duration and check if we’ve hit the limit
source§impl AbstractServerBans for ReferenceDb
impl AbstractServerBans for ReferenceDb
source§fn insert_ban<'life0, 'life1, 'async_trait>(
&'life0 self,
ban: &'life1 ServerBan
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_ban<'life0, 'life1, 'async_trait>( &'life0 self, ban: &'life1 ServerBan ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert new ban into database
source§fn fetch_ban<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
user_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<ServerBan>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_ban<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, server_id: &'life1 str, user_id: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<ServerBan>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Fetch a server ban by server and user id
source§fn fetch_bans<'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<ServerBan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_bans<'life0, 'life1, 'async_trait>( &'life0 self, server_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<ServerBan>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch all bans in a server
source§fn delete_ban<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 MemberCompositeKey
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_ban<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 MemberCompositeKey ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Delete a ban from the database
source§impl AbstractServerMembers for ReferenceDb
impl AbstractServerMembers for ReferenceDb
source§fn insert_member<'life0, 'life1, 'async_trait>(
&'life0 self,
member: &'life1 Member
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_member<'life0, 'life1, 'async_trait>( &'life0 self, member: &'life1 Member ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new server member into the database
source§fn fetch_member<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
user_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Member>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_member<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, server_id: &'life1 str, user_id: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<Member>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Fetch a server member by their id
source§fn fetch_all_members<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_all_members<'a, 'life0, 'life1, 'async_trait>( &'life0 self, server_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch all members in a server
source§fn fetch_all_memberships<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_all_memberships<'a, 'life0, 'life1, 'async_trait>( &'life0 self, user_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch all memberships for a user
source§fn fetch_members<'a, 'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
ids: &'a [String]
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_members<'a, 'life0, 'life1, 'async_trait>( &'life0 self, server_id: &'life1 str, ids: &'a [String] ) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch multiple members by their ids
source§fn fetch_member_count<'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_member_count<'life0, 'life1, 'async_trait>( &'life0 self, server_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch member count of a server
source§fn fetch_server_count<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_server_count<'life0, 'life1, 'async_trait>( &'life0 self, user_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch server count of a user
source§fn update_member<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 MemberCompositeKey,
partial: &'life2 PartialMember,
remove: Vec<FieldsMember>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_member<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 MemberCompositeKey, partial: &'life2 PartialMember, remove: Vec<FieldsMember> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Update information for a server member
source§fn delete_member<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 MemberCompositeKey
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_member<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 MemberCompositeKey ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Delete a server member by their id
source§impl AbstractServers for ReferenceDb
impl AbstractServers for ReferenceDb
source§fn insert_server<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 Server
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_server<'life0, 'life1, 'async_trait>( &'life0 self, server: &'life1 Server ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new server into database
source§fn fetch_server<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Server>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_server<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Server>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a server by its id
source§fn fetch_servers<'a, 'life0, 'async_trait>(
&'life0 self,
ids: &'a [String]
) -> Pin<Box<dyn Future<Output = Result<Vec<Server>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn fetch_servers<'a, 'life0, 'async_trait>( &'life0 self, ids: &'a [String] ) -> Pin<Box<dyn Future<Output = Result<Vec<Server>>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait,
Fetch a servers by their ids
source§fn update_server<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
partial: &'life2 PartialServer,
remove: Vec<FieldsServer>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_server<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, partial: &'life2 PartialServer, remove: Vec<FieldsServer> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Update a server with new information
source§fn delete_server<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_server<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Delete a server by its id
source§fn insert_role<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
role_id: &'life2 str,
role: &'life3 Role
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn insert_role<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, server_id: &'life1 str, role_id: &'life2 str, role: &'life3 Role ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Insert a new role into server object
source§fn update_role<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
role_id: &'life2 str,
partial: &'life3 PartialRole,
remove: Vec<FieldsRole>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn update_role<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, server_id: &'life1 str, role_id: &'life2 str, partial: &'life3 PartialRole, remove: Vec<FieldsRole> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Update an existing role on a server
source§fn delete_role<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
role_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_role<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, server_id: &'life1 str, role_id: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Delete a role from a server
Also updates channels and members.
source§impl AbstractUserSettings for ReferenceDb
impl AbstractUserSettings for ReferenceDb
source§fn fetch_user_settings<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
filter: &'life2 [String]
) -> Pin<Box<dyn Future<Output = Result<UserSettings>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_user_settings<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, filter: &'life2 [String] ) -> Pin<Box<dyn Future<Output = Result<UserSettings>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Fetch a subset of user settings
source§fn set_user_settings<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
settings: &'life2 UserSettings
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_user_settings<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, settings: &'life2 UserSettings ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Update a subset of user settings
source§impl AbstractUsers for ReferenceDb
impl AbstractUsers for ReferenceDb
source§fn insert_user<'life0, 'life1, 'async_trait>(
&'life0 self,
user: &'life1 User
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_user<'life0, 'life1, 'async_trait>( &'life0 self, user: &'life1 User ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert a new user into the database
source§fn fetch_user<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_user<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a user from the database
source§fn fetch_user_by_username<'life0, 'life1, 'async_trait>(
&'life0 self,
username: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_user_by_username<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a user from the database by their username
source§fn fetch_user_by_token<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_user_by_token<'life0, 'life1, 'async_trait>( &'life0 self, _token: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch a user from the database by their session token
source§fn fetch_users<'a, 'life0, 'async_trait>(
&'life0 self,
ids: &'a [String]
) -> Pin<Box<dyn Future<Output = Result<Vec<User>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn fetch_users<'a, 'life0, 'async_trait>( &'life0 self, ids: &'a [String] ) -> Pin<Box<dyn Future<Output = Result<Vec<User>>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait,
Fetch multiple users by their ids
source§fn fetch_discriminators_in_use<'life0, 'life1, 'async_trait>(
&'life0 self,
username: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_discriminators_in_use<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch all discriminators in use for a username
source§fn fetch_mutual_user_ids<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_user_a: &'life1 str,
_user_b: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_mutual_user_ids<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _user_a: &'life1 str, _user_b: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Fetch ids of users that both users are friends with
source§fn fetch_mutual_channel_ids<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_user_a: &'life1 str,
_user_b: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_mutual_channel_ids<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _user_a: &'life1 str, _user_b: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Fetch ids of channels that both users are in
source§fn fetch_mutual_server_ids<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_user_a: &'life1 str,
_user_b: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_mutual_server_ids<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _user_a: &'life1 str, _user_b: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Fetch ids of servers that both users share
source§fn update_user<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 str,
partial: &'life2 PartialUser,
remove: Vec<FieldsUser>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_user<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 str, partial: &'life2 PartialUser, remove: Vec<FieldsUser> ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Update a user by their id given some data
source§fn set_relationship<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
_target_id: &'life2 str,
_relationship: &'life3 RelationshipStatus
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn set_relationship<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, _user_id: &'life1 str, _target_id: &'life2 str, _relationship: &'life3 RelationshipStatus ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Set relationship with another user
This should use pull_relationship if relationship is None.
source§fn pull_relationship<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_user_id: &'life1 str,
_target_id: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pull_relationship<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _user_id: &'life1 str, _target_id: &'life2 str ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Remove relationship with another user
source§impl AbstractWebhooks for ReferenceDb
impl AbstractWebhooks for ReferenceDb
source§fn insert_webhook<'life0, 'life1, 'async_trait>(
&'life0 self,
webhook: &'life1 Webhook
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_webhook<'life0, 'life1, 'async_trait>( &'life0 self, webhook: &'life1 Webhook ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Insert new webhook into the database
source§fn fetch_webhook<'life0, 'life1, 'async_trait>(
&'life0 self,
webhook_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Webhook>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_webhook<'life0, 'life1, 'async_trait>( &'life0 self, webhook_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Webhook>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch webhook by id
source§fn fetch_webhooks_for_channel<'life0, 'life1, 'async_trait>(
&'life0 self,
channel_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<Webhook>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_webhooks_for_channel<'life0, 'life1, 'async_trait>( &'life0 self, channel_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Webhook>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Fetch webhooks for channel
source§fn update_webhook<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
webhook_id: &'life1 str,
partial: &'life2 PartialWebhook,
remove: &'life3 [FieldsWebhook]
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn update_webhook<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, webhook_id: &'life1 str, partial: &'life2 PartialWebhook, remove: &'life3 [FieldsWebhook] ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Update webhook with new information
source§impl Clone for ReferenceDb
impl Clone for ReferenceDb
source§fn clone(&self) -> ReferenceDb
fn clone(&self) -> ReferenceDb
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Default for ReferenceDb
impl Default for ReferenceDb
source§fn default() -> ReferenceDb
fn default() -> ReferenceDb
impl AbstractDatabase for ReferenceDb
Auto Trait Implementations§
impl !RefUnwindSafe for ReferenceDb
impl Send for ReferenceDb
impl Sync for ReferenceDb
impl Unpin for ReferenceDb
impl !UnwindSafe for ReferenceDb
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self, then passes self.as_mut() into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut() only in debug builds, and is erased in release
builds.