QueryGroup

Trait QueryGroup 

Source
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§

Source

fn find_groups<A: AsRef<GroupQueryArgs>>( &self, args: A, ) -> Result<Vec<StoredGroup>, ConnectionError>

Return regular Purpose::Conversation groups with additional optional filters

Source

fn find_groups_by_id_paged<A: AsRef<GroupQueryArgs>>( &self, args: A, offset: i64, ) -> Result<Vec<StoredGroup>, ConnectionError>

Source

fn update_group_membership<GroupId: AsRef<[u8]>>( &self, group_id: GroupId, state: GroupMembershipState, ) -> Result<(), ConnectionError>

Updates group membership state

Source

fn all_sync_groups(&self) -> Result<Vec<StoredGroup>, ConnectionError>

Source

fn find_sync_group( &self, id: &[u8], ) -> Result<Option<StoredGroup>, ConnectionError>

Source

fn primary_sync_group(&self) -> Result<Option<StoredGroup>, ConnectionError>

Source

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>

Return a single group that matches the given welcome ID

Source

fn get_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<i64, StorageError>

Source

fn update_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<(), StorageError>

Updates the ‘last time checked’ we checked for new installations.

Source

fn get_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<i64, StorageError>

Source

fn update_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<(), StorageError>

Updates the ‘last time checked’ we checked for new installations.

Source

fn update_message_disappearing_from_ns( &self, group_id: Vec<u8>, from_ns: Option<i64>, ) -> Result<(), StorageError>

Source

fn update_message_disappearing_in_ns( &self, group_id: Vec<u8>, in_ns: Option<i64>, ) -> Result<(), StorageError>

Source

fn insert_or_replace_group( &self, group: StoredGroup, ) -> Result<StoredGroup, StorageError>

Source

fn group_cursors(&self) -> Result<Vec<Cursor>, ConnectionError>

Get all the welcome ids turned into groups

Source

fn mark_group_as_maybe_forked( &self, group_id: &[u8], fork_details: String, ) -> Result<(), StorageError>

Source

fn clear_fork_flag_for_group( &self, group_id: &[u8], ) -> Result<(), ConnectionError>

Source

fn has_duplicate_dm(&self, group_id: &[u8]) -> Result<bool, ConnectionError>

Source

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)

Source

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)

Source

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)

Source

fn get_conversation_ids_for_requesting_readds( &self, ) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>

Get conversation IDs for conversations that are forked and need readd requests

Source

fn get_conversation_ids_for_responding_readds( &self, ) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>

Get conversation IDs for conversations that need to respond to readd requests

Source

fn get_conversation_type( &self, group_id: &[u8], ) -> Result<ConversationType, ConnectionError>

Source

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

Source

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

Source

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

Source

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

Source

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 &T
where T: QueryGroup,

Source§

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>

Updates group membership state

Source§

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>

Return a single group that matches the given welcome ID

Source§

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>

Updates the ‘last time checked’ we checked for new installations.

Source§

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>

Get conversation IDs for all conversations that require a remote commit log publish (DMs and groups where user is super admin, excluding sync groups)

Source§

fn find_groups_by_id_paged<A: AsRef<GroupQueryArgs>>( &self, args: A, offset: i64, ) -> Result<Vec<StoredGroup>, ConnectionError>

Source§

fn all_sync_groups(&self) -> Result<Vec<StoredGroup>, ConnectionError>

Source§

fn find_sync_group( &self, id: &[u8], ) -> Result<Option<StoredGroup>, ConnectionError>

Source§

fn primary_sync_group(&self) -> Result<Option<StoredGroup>, ConnectionError>

Source§

fn get_rotated_at_ns(&self, group_id: Vec<u8>) -> Result<i64, StorageError>

Source§

fn get_installations_time_checked( &self, group_id: Vec<u8>, ) -> Result<i64, StorageError>

Source§

fn update_message_disappearing_from_ns( &self, group_id: Vec<u8>, from_ns: Option<i64>, ) -> Result<(), StorageError>

Source§

fn update_message_disappearing_in_ns( &self, group_id: Vec<u8>, in_ns: Option<i64>, ) -> Result<(), StorageError>

Source§

fn insert_or_replace_group( &self, group: StoredGroup, ) -> Result<StoredGroup, StorageError>

Source§

fn mark_group_as_maybe_forked( &self, group_id: &[u8], fork_details: String, ) -> Result<(), StorageError>

Source§

fn clear_fork_flag_for_group( &self, group_id: &[u8], ) -> Result<(), ConnectionError>

Source§

fn has_duplicate_dm(&self, group_id: &[u8]) -> Result<bool, ConnectionError>

Source§

fn get_conversation_ids_for_remote_log_download( &self, ) -> Result<Vec<StoredGroupCommitLogPublicKey>, ConnectionError>

Source§

fn get_conversation_ids_for_fork_check( &self, ) -> Result<Vec<Vec<u8>>, ConnectionError>

Source§

fn get_conversation_ids_for_requesting_readds( &self, ) -> Result<Vec<StoredGroupForReaddRequest>, ConnectionError>

Source§

fn get_conversation_ids_for_responding_readds( &self, ) -> Result<Vec<StoredGroupForRespondingReadds>, ConnectionError>

Source§

fn get_conversation_type( &self, group_id: &[u8], ) -> Result<ConversationType, ConnectionError>

Source§

fn set_group_commit_log_public_key( &self, group_id: &[u8], public_key: &[u8], ) -> Result<(), StorageError>

Source§

fn set_group_commit_log_forked_status( &self, group_id: &[u8], is_forked: Option<bool>, ) -> Result<(), StorageError>

Source§

fn get_group_commit_log_forked_status( &self, group_id: &[u8], ) -> Result<Option<bool>, StorageError>

Source§

fn set_group_has_pending_leave_request_status( &self, group_id: &[u8], has_pending_leave_request: Option<bool>, ) -> Result<(), StorageError>

Source§

fn get_groups_have_pending_leave_request( &self, ) -> Result<Vec<Vec<u8>>, ConnectionError>

Implementors§