Struct revolt_database::MongoDb
source · pub struct MongoDb(pub Client, pub String);Expand description
MongoDB implementation
Tuple Fields§
§0: Client§1: StringImplementations§
source§impl MongoDb
impl MongoDb
sourcepub fn col<T>(&self, collection: &str) -> Collection<T>
pub fn col<T>(&self, collection: &str) -> Collection<T>
Get a collection by its name
sourcepub async fn insert_one<T: Serialize>(
&self,
collection: &'static str,
document: T
) -> Result<InsertOneResult>
pub async fn insert_one<T: Serialize>( &self, collection: &'static str, document: T ) -> Result<InsertOneResult>
Insert one document into a collection
sourcepub async fn count_documents(
&self,
collection: &'static str,
projection: Document
) -> Result<u64>
pub async fn count_documents( &self, collection: &'static str, projection: Document ) -> Result<u64>
Count documents by projection
sourcepub async fn find_with_options<O, T: DeserializeOwned + Unpin + Send + Sync>(
&self,
collection: &'static str,
projection: Document,
options: O
) -> Result<Vec<T>>where
O: Into<Option<FindOptions>>,
pub async fn find_with_options<O, T: DeserializeOwned + Unpin + Send + Sync>( &self, collection: &'static str, projection: Document, options: O ) -> Result<Vec<T>>where O: Into<Option<FindOptions>>,
Find multiple documents in a collection with options
sourcepub async fn find<T: DeserializeOwned + Unpin + Send + Sync>(
&self,
collection: &'static str,
projection: Document
) -> Result<Vec<T>>
pub async fn find<T: DeserializeOwned + Unpin + Send + Sync>( &self, collection: &'static str, projection: Document ) -> Result<Vec<T>>
Find multiple documents in a collection
sourcepub async fn find_one_with_options<O, T: DeserializeOwned + Unpin + Send + Sync>(
&self,
collection: &'static str,
projection: Document,
options: O
) -> Result<Option<T>>where
O: Into<Option<FindOneOptions>>,
pub async fn find_one_with_options<O, T: DeserializeOwned + Unpin + Send + Sync>( &self, collection: &'static str, projection: Document, options: O ) -> Result<Option<T>>where O: Into<Option<FindOneOptions>>,
Find one document with options
sourcepub async fn find_one<T: DeserializeOwned + Unpin + Send + Sync>(
&self,
collection: &'static str,
projection: Document
) -> Result<Option<T>>
pub async fn find_one<T: DeserializeOwned + Unpin + Send + Sync>( &self, collection: &'static str, projection: Document ) -> Result<Option<T>>
Find one document
sourcepub async fn find_one_by_id<T: DeserializeOwned + Unpin + Send + Sync>(
&self,
collection: &'static str,
id: &str
) -> Result<Option<T>>
pub async fn find_one_by_id<T: DeserializeOwned + Unpin + Send + Sync>( &self, collection: &'static str, id: &str ) -> Result<Option<T>>
Find one document by its ID
sourcepub async fn update_one<P, T: Serialize>(
&self,
collection: &'static str,
projection: Document,
partial: T,
remove: Vec<&dyn IntoDocumentPath>,
prefix: P
) -> Result<UpdateResult>where
P: Into<Option<String>>,
pub async fn update_one<P, T: Serialize>( &self, collection: &'static str, projection: Document, partial: T, remove: Vec<&dyn IntoDocumentPath>, prefix: P ) -> Result<UpdateResult>where P: Into<Option<String>>,
Update one document given a projection, partial document, and list of paths to unset
sourcepub async fn update_one_by_id<P, T: Serialize>(
&self,
collection: &'static str,
id: &str,
partial: T,
remove: Vec<&dyn IntoDocumentPath>,
prefix: P
) -> Result<UpdateResult>where
P: Into<Option<String>>,
pub async fn update_one_by_id<P, T: Serialize>( &self, collection: &'static str, id: &str, partial: T, remove: Vec<&dyn IntoDocumentPath>, prefix: P ) -> Result<UpdateResult>where P: Into<Option<String>>,
Update one document given an ID, partial document, and list of paths to unset
sourcepub async fn delete_one(
&self,
collection: &'static str,
projection: Document
) -> Result<DeleteResult>
pub async fn delete_one( &self, collection: &'static str, projection: Document ) -> Result<DeleteResult>
Delete one document by the given projection
sourcepub async fn delete_one_by_id(
&self,
collection: &'static str,
id: &str
) -> Result<DeleteResult>
pub async fn delete_one_by_id( &self, collection: &'static str, id: &str ) -> Result<DeleteResult>
Delete one document by the given ID
Methods from Deref<Target = Client>§
sourcepub fn selection_criteria(&self) -> Option<&SelectionCriteria>
pub fn selection_criteria(&self) -> Option<&SelectionCriteria>
Gets the default selection criteria the Client uses for operations..
sourcepub fn read_concern(&self) -> Option<&ReadConcern>
pub fn read_concern(&self) -> Option<&ReadConcern>
Gets the default read concern the Client uses for operations.
sourcepub fn write_concern(&self) -> Option<&WriteConcern>
pub fn write_concern(&self) -> Option<&WriteConcern>
Gets the default write concern the Client uses for operations.
sourcepub fn database(&self, name: &str) -> Database
pub fn database(&self, name: &str) -> Database
Gets a handle to a database specified by name in the cluster the Client is connected to.
The Database options (e.g. read preference and write concern) will default to those of the
Client.
This method does not send or receive anything across the wire to the database, so it can be used repeatedly without incurring any costs from I/O.
sourcepub fn database_with_options(
&self,
name: &str,
options: DatabaseOptions
) -> Database
pub fn database_with_options( &self, name: &str, options: DatabaseOptions ) -> Database
Gets a handle to a database specified by name in the cluster the Client is connected to.
Operations done with this Database will use the options specified by options by default
and will otherwise default to those of the Client.
This method does not send or receive anything across the wire to the database, so it can be used repeatedly without incurring any costs from I/O.
sourcepub fn default_database(&self) -> Option<Database>
pub fn default_database(&self) -> Option<Database>
Gets a handle to the default database specified in the ClientOptions or MongoDB connection
string used to construct this Client.
If no default database was specified, None will be returned.
sourcepub async fn list_databases(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>
) -> impl Future<Output = Result<Vec<DatabaseSpecification, Global>, Error>>
pub async fn list_databases( &self, filter: impl Into<Option<Document>>, options: impl Into<Option<ListDatabasesOptions>> ) -> impl Future<Output = Result<Vec<DatabaseSpecification, Global>, Error>>
Gets information about each database present in the cluster the Client is connected to.
sourcepub async fn list_databases_with_session(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>,
session: &mut ClientSession
) -> impl Future<Output = Result<Vec<DatabaseSpecification, Global>, Error>>
pub async fn list_databases_with_session( &self, filter: impl Into<Option<Document>>, options: impl Into<Option<ListDatabasesOptions>>, session: &mut ClientSession ) -> impl Future<Output = Result<Vec<DatabaseSpecification, Global>, Error>>
Gets information about each database present in the cluster the Client is connected to
using the provided ClientSession.
sourcepub async fn list_database_names(
&self,
filter: impl Into<Option<Document>>,
options: impl Into<Option<ListDatabasesOptions>>
) -> impl Future<Output = Result<Vec<String, Global>, Error>>
pub async fn list_database_names( &self, filter: impl Into<Option<Document>>, options: impl Into<Option<ListDatabasesOptions>> ) -> impl Future<Output = Result<Vec<String, Global>, Error>>
Gets the names of the databases present in the cluster the Client is connected to.
sourcepub async fn start_session(
&self,
options: impl Into<Option<SessionOptions>>
) -> impl Future<Output = Result<ClientSession, Error>>
pub async fn start_session( &self, options: impl Into<Option<SessionOptions>> ) -> impl Future<Output = Result<ClientSession, Error>>
Starts a new ClientSession.
sourcepub async fn watch(
&self,
pipeline: impl IntoIterator<Item = Document>,
options: impl Into<Option<ChangeStreamOptions>>
) -> impl Future<Output = Result<ChangeStream<ChangeStreamEvent<Document>>, Error>>
pub async fn watch( &self, pipeline: impl IntoIterator<Item = Document>, options: impl Into<Option<ChangeStreamOptions>> ) -> impl Future<Output = Result<ChangeStream<ChangeStreamEvent<Document>>, Error>>
Starts a new ChangeStream that receives events for all changes in the cluster. The
stream does not observe changes from system collections or the “config”, “local” or
“admin” databases. Note that this method (watch on a cluster) is only supported in
MongoDB 4.0 or greater.
See the documentation here on change streams.
Change streams require either a “majority” read concern or no read concern. Anything else will cause a server error.
Note that using a $project stage to remove any of the _id operationType or ns fields
will cause an error. The driver requires these fields to support resumability. For
more information on resumability, see the documentation for
ChangeStream
If the pipeline alters the structure of the returned events, the parsed type will need to be
changed via ChangeStream::with_type.
sourcepub async fn watch_with_session(
&self,
pipeline: impl IntoIterator<Item = Document>,
options: impl Into<Option<ChangeStreamOptions>>,
session: &mut ClientSession
) -> impl Future<Output = Result<SessionChangeStream<ChangeStreamEvent<Document>>, Error>>
pub async fn watch_with_session( &self, pipeline: impl IntoIterator<Item = Document>, options: impl Into<Option<ChangeStreamOptions>>, session: &mut ClientSession ) -> impl Future<Output = Result<SessionChangeStream<ChangeStreamEvent<Document>>, Error>>
Starts a new SessionChangeStream that receives events for all changes in the cluster
using the provided ClientSession. See Client::watch for more information.
Trait Implementations§
source§impl AbstractAttachments for MongoDb
impl AbstractAttachments for MongoDb
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 MongoDb
impl AbstractBots for MongoDb
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 MongoDb
impl AbstractChannelInvites for MongoDb
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 MongoDb
impl AbstractChannelUnreads for MongoDb
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 MongoDb
impl AbstractChannels for MongoDb
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: &'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 add_user_to_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,
Insert a user to a group
source§fn set_channel_role_permission<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
channel: &'life1 str,
role: &'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: &'life1 str, role: &'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 MongoDb
impl AbstractEmojis for MongoDb
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 MongoDb
impl AbstractMessages for MongoDb
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 MongoDb
impl AbstractMigrations for MongoDb
source§impl AbstractRatelimitEvents for MongoDb
impl AbstractRatelimitEvents for MongoDb
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 MongoDb
impl AbstractServerBans for MongoDb
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 MongoDb
impl AbstractServerMembers for MongoDb
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 MongoDb
impl AbstractServers for MongoDb
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 MongoDb
impl AbstractUserSettings for MongoDb
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 MongoDb
impl AbstractUsers for MongoDb
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 MongoDb
impl AbstractWebhooks for MongoDb
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
impl AbstractDatabase for MongoDb
Auto Trait Implementations§
impl !RefUnwindSafe for MongoDb
impl Send for MongoDb
impl Sync for MongoDb
impl Unpin for MongoDb
impl !UnwindSafe for MongoDb
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.