pub trait QueryGroup {
Show 30 methods
// Required methods
fn find_groups<A: AsRef<GroupQueryArgs>>(
&self,
args: A,
) -> Result<Vec<StoredGroup>, ConnectionError>;
fn find_groups_by_id_paged<A: AsRef<GroupQueryArgs>>(
&self,
args: A,
offset: i64,
) -> Result<Vec<StoredGroup>, ConnectionError>;
fn update_group_membership<GroupId: AsRef<[u8]>>(
&self,
group_id: GroupId,
state: GroupMembershipState,
) -> Result<(), ConnectionError>;
fn all_sync_groups(&self) -> Result<Vec<StoredGroup>, ConnectionError>;
fn find_sync_group(
&self,
id: &[u8],
) -> Result<Option<StoredGroup>, ConnectionError>;
fn primary_sync_group(&self) -> Result<Option<StoredGroup>, ConnectionError>;
fn find_group(
&self,
id: &[u8],
) -> Result<Option<StoredGroup>, ConnectionError>;
fn find_group_by_sequence_id(
&self,
cursor: Cursor,
) -> Result<Option<StoredGroup>, ConnectionError>;
fn get_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<i64, StorageError>;
fn update_rotated_at_ns(
&self,
group_id: Vec<u8>,
) -> Result<(), StorageError>;
fn get_installations_time_checked(
&self,
group_id: Vec<u8>,
) -> Result<i64, StorageError>;
fn update_installations_time_checked(
&self,
group_id: Vec<u8>,
) -> Result<(), StorageError>;
fn update_message_disappearing_from_ns(
&self,
group_id: Vec<u8>,
from_ns: Option<i64>,
) -> Result<(), StorageError>;
fn update_message_disappearing_in_ns(
&self,
group_id: Vec<u8>,
in_ns: Option<i64>,
) -> Result<(), StorageError>;
fn insert_or_replace_group(
&self,
group: StoredGroup,
) -> Result<StoredGroup, StorageError>;
fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>;
fn mark_group_as_maybe_forked(
&self,
group_id: &[u8],
fork_details: String,
) -> Result<(), StorageError>;
fn clear_fork_flag_for_group(
&self,
group_id: &[u8],
) -> Result<(), ConnectionError>;
fn has_duplicate_dm(&self, group_id: &[u8]) -> Result<bool, ConnectionError>;
fn get_conversation_ids_for_remote_log_publish(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>;
fn get_conversation_ids_for_remote_log_download(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>;
fn get_conversation_ids_for_fork_check(
&self,
) -> Result<Vec<Vec<u8>>, ConnectionError>;
fn get_conversation_ids_for_requesting_readds(
&self,
) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>;
fn get_conversation_ids_for_responding_readds(
&self,
) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>;
fn get_conversation_type(
&self,
group_id: &[u8],
) -> Result<ConversationType, ConnectionError>;
fn set_group_commit_log_public_key(
&self,
group_id: &[u8],
public_key: &[u8],
) -> Result<(), StorageError>;
fn set_group_commit_log_forked_status(
&self,
group_id: &[u8],
is_forked: Option<bool>,
) -> Result<(), StorageError>;
fn get_group_commit_log_forked_status(
&self,
group_id: &[u8],
) -> Result<Option<bool>, StorageError>;
fn set_group_has_pending_leave_request_status(
&self,
group_id: &[u8],
has_pending_leave_request: Option<bool>,
) -> Result<(), StorageError>;
fn get_groups_have_pending_leave_request(
&self,
) -> Result<Vec<Vec<u8>>, ConnectionError>;
}Required Methods§
Sourcefn find_groups<A: AsRef<GroupQueryArgs>>(
&self,
args: A,
) -> Result<Vec<StoredGroup>, ConnectionError>
fn find_groups<A: AsRef<GroupQueryArgs>>( &self, args: A, ) -> Result<Vec<StoredGroup>, ConnectionError>
Return regular Purpose::Conversation groups with additional optional filters
fn find_groups_by_id_paged<A: AsRef<GroupQueryArgs>>( &self, args: A, offset: i64, ) -> Result<Vec<StoredGroup>, ConnectionError>
Sourcefn update_group_membership<GroupId: AsRef<[u8]>>(
&self,
group_id: GroupId,
state: GroupMembershipState,
) -> Result<(), ConnectionError>
fn update_group_membership<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, state: GroupMembershipState, ) -> Result<(), ConnectionError>
Updates group membership state
fn all_sync_groups(&self) -> Result<Vec<StoredGroup>, ConnectionError>
fn find_sync_group( &self, id: &[u8], ) -> Result<Option<StoredGroup>, ConnectionError>
fn primary_sync_group(&self) -> Result<Option<StoredGroup>, ConnectionError>
Sourcefn find_group(&self, id: &[u8]) -> Result<Option<StoredGroup>, ConnectionError>
fn find_group(&self, id: &[u8]) -> Result<Option<StoredGroup>, ConnectionError>
Return a single group that matches the given ID
Sourcefn find_group_by_sequence_id(
&self,
cursor: Cursor,
) -> Result<Option<StoredGroup>, ConnectionError>
fn find_group_by_sequence_id( &self, cursor: Cursor, ) -> Result<Option<StoredGroup>, ConnectionError>
Return a single group that matches the given welcome ID
fn get_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<i64, StorageError>
Sourcefn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>
fn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>
Updates the ‘last time checked’ we checked for new installations.
fn get_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<i64, StorageError>
Sourcefn update_installations_time_checked(
&self,
group_id: Vec<u8>,
) -> Result<(), StorageError>
fn update_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<(), StorageError>
Updates the ‘last time checked’ we checked for new installations.
fn update_message_disappearing_from_ns( &self, group_id: Vec<u8>, from_ns: Option<i64>, ) -> Result<(), StorageError>
fn update_message_disappearing_in_ns( &self, group_id: Vec<u8>, in_ns: Option<i64>, ) -> Result<(), StorageError>
fn insert_or_replace_group( &self, group: StoredGroup, ) -> Result<StoredGroup, StorageError>
Sourcefn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>
fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>
Get all the welcome ids turned into groups
fn mark_group_as_maybe_forked( &self, group_id: &[u8], fork_details: String, ) -> Result<(), StorageError>
fn clear_fork_flag_for_group( &self, group_id: &[u8], ) -> Result<(), ConnectionError>
fn has_duplicate_dm(&self, group_id: &[u8]) -> Result<bool, ConnectionError>
Sourcefn get_conversation_ids_for_remote_log_publish(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
fn get_conversation_ids_for_remote_log_publish( &self, ) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
Get conversations for all conversations that require a remote commit log publish (DMs and groups where user is super admin, excluding sync groups)
Sourcefn get_conversation_ids_for_remote_log_download(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
fn get_conversation_ids_for_remote_log_download( &self, ) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
Get conversations for all conversations that require a remote commit log download (DMs and groups that are not sync groups)
Sourcefn get_conversation_ids_for_fork_check(
&self,
) -> Result<Vec<Vec<u8>>, ConnectionError>
fn get_conversation_ids_for_fork_check( &self, ) -> Result<Vec<Vec<u8>>, ConnectionError>
Get conversation IDs for fork checking (excludes already forked conversations and sync groups)
Sourcefn get_conversation_ids_for_requesting_readds(
&self,
) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>
fn get_conversation_ids_for_requesting_readds( &self, ) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>
Get conversation IDs for conversations that are forked and need readd requests
Sourcefn get_conversation_ids_for_responding_readds(
&self,
) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>
fn get_conversation_ids_for_responding_readds( &self, ) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>
Get conversation IDs for conversations that need to respond to readd requests
fn get_conversation_type( &self, group_id: &[u8], ) -> Result<ConversationType, ConnectionError>
Sourcefn set_group_commit_log_public_key(
&self,
group_id: &[u8],
public_key: &[u8],
) -> Result<(), StorageError>
fn set_group_commit_log_public_key( &self, group_id: &[u8], public_key: &[u8], ) -> Result<(), StorageError>
Updates the commit log public key for a group
Sourcefn set_group_commit_log_forked_status(
&self,
group_id: &[u8],
is_forked: Option<bool>,
) -> Result<(), StorageError>
fn set_group_commit_log_forked_status( &self, group_id: &[u8], is_forked: Option<bool>, ) -> Result<(), StorageError>
Updates the is_commit_log_forked status for a group
Sourcefn get_group_commit_log_forked_status(
&self,
group_id: &[u8],
) -> Result<Option<bool>, StorageError>
fn get_group_commit_log_forked_status( &self, group_id: &[u8], ) -> Result<Option<bool>, StorageError>
Gets the is_commit_log_forked status for a group
Sourcefn set_group_has_pending_leave_request_status(
&self,
group_id: &[u8],
has_pending_leave_request: Option<bool>,
) -> Result<(), StorageError>
fn set_group_has_pending_leave_request_status( &self, group_id: &[u8], has_pending_leave_request: Option<bool>, ) -> Result<(), StorageError>
Updates the has_pending_leave_request status for a group
fn get_groups_have_pending_leave_request( &self, ) -> Result<Vec<Vec<u8>>, ConnectionError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<T> QueryGroup for &Twhere
T: QueryGroup,
impl<T> QueryGroup for &Twhere
T: QueryGroup,
Source§fn find_groups<A: AsRef<GroupQueryArgs>>(
&self,
args: A,
) -> Result<Vec<StoredGroup>, ConnectionError>
fn find_groups<A: AsRef<GroupQueryArgs>>( &self, args: A, ) -> Result<Vec<StoredGroup>, ConnectionError>
Return regular Purpose::Conversation groups with additional optional filters
Source§fn update_group_membership<GroupId: AsRef<[u8]>>(
&self,
group_id: GroupId,
state: GroupMembershipState,
) -> Result<(), ConnectionError>
fn update_group_membership<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, state: GroupMembershipState, ) -> Result<(), ConnectionError>
Updates group membership state
Source§fn find_group(&self, id: &[u8]) -> Result<Option<StoredGroup>, ConnectionError>
fn find_group(&self, id: &[u8]) -> Result<Option<StoredGroup>, ConnectionError>
Return a single group that matches the given ID
Source§fn find_group_by_sequence_id(
&self,
cursor: Cursor,
) -> Result<Option<StoredGroup>, ConnectionError>
fn find_group_by_sequence_id( &self, cursor: Cursor, ) -> Result<Option<StoredGroup>, ConnectionError>
Return a single group that matches the given welcome ID
Source§fn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>
fn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>
Updates the ‘last time checked’ we checked for new installations.
Source§fn update_installations_time_checked(
&self,
group_id: Vec<u8>,
) -> Result<(), StorageError>
fn update_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<(), StorageError>
Updates the ‘last time checked’ we checked for new installations.
Source§fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>
fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>
Get all the welcome ids turned into groups
Source§fn get_conversation_ids_for_remote_log_publish(
&self,
) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
fn get_conversation_ids_for_remote_log_publish( &self, ) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>
Get conversation IDs for all conversations that require a remote commit log publish (DMs and groups where user is super admin, excluding sync groups)