pub trait AbstractServerMembers: Sync + Send {
Show 14 methods
// Required methods
fn insert_or_merge_member<'life0, 'life1, 'async_trait>(
&'life0 self,
member: &'life1 Member,
) -> Pin<Box<dyn Future<Output = Result<Option<Member>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: '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;
fn fetch_all_members<'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,
'life0: 'async_trait,
'life1: 'async_trait;
fn fetch_all_members_chunked<'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ChunkedServerMembersGenerator>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn fetch_all_members_with_roles<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
roles: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn fetch_all_members_with_roles_chunked<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
roles: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<ChunkedServerMembersGenerator>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn fetch_all_memberships<'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,
'life0: 'async_trait,
'life1: 'async_trait;
fn fetch_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
ids: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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;
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 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 soft_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 force_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 remove_dangling_members<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Required Methods§
Sourcefn insert_or_merge_member<'life0, 'life1, 'async_trait>(
&'life0 self,
member: &'life1 Member,
) -> Pin<Box<dyn Future<Output = Result<Option<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_or_merge_member<'life0, 'life1, 'async_trait>(
&'life0 self,
member: &'life1 Member,
) -> Pin<Box<dyn Future<Output = Result<Option<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Insert a new server member into the database
Sourcefn 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
Sourcefn fetch_all_members<'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,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_all_members<'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,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch all members in a server
Sourcefn fetch_all_members_chunked<'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ChunkedServerMembersGenerator>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_all_members_chunked<'life0, 'life1, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ChunkedServerMembersGenerator>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch all members in a server as an iterator
fn fetch_all_members_with_roles<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
roles: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_all_members_with_roles_chunked<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
roles: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<ChunkedServerMembersGenerator>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Sourcefn fetch_all_memberships<'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,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_all_memberships<'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,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch all memberships for a user
Sourcefn fetch_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
ids: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn fetch_members<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server_id: &'life1 str,
ids: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<Member>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Fetch multiple members by their ids
Sourcefn 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
Sourcefn 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
Sourcefn 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
Sourcefn soft_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 soft_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,
Marks a user as no longer a member of a server, while retaining the database value. This is used to keep information such as timeouts in place, but will remove information such as join date and applied roles.
Sourcefn force_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 force_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,
Forcibly delete a server member by their id. This will cancel any pending timeouts or other longer term actions, and they will not be reapplied on rejoin.