Struct imessage_database::tables::chat_handle::ChatToHandle
source · pub struct ChatToHandle { /* private fields */ }Expand description
Represents a single row in the chat_handle_join table.
Trait Implementations§
source§impl Cacheable for ChatToHandle
impl Cacheable for ChatToHandle
source§fn cache(db: &Connection) -> Result<HashMap<Self::K, Self::V>, TableError>
fn cache(db: &Connection) -> Result<HashMap<Self::K, Self::V>, TableError>
Generate a hashmap containing each chatroom’s ID pointing to a HashSet of participant handle IDs
Example:
use imessage_database::util::dirs::default_db_path;
use imessage_database::tables::table::{Cacheable, get_connection};
use imessage_database::tables::chat_handle::ChatToHandle;
let db_path = default_db_path();
let conn = get_connection(&db_path).unwrap();
let chatrooms = ChatToHandle::cache(&conn);type K = i32
type V = BTreeSet<i32, Global>
source§impl Deduplicate for ChatToHandle
impl Deduplicate for ChatToHandle
source§fn dedupe(duplicated_data: &HashMap<i32, Self::T>) -> HashMap<i32, i32>
fn dedupe(duplicated_data: &HashMap<i32, Self::T>) -> HashMap<i32, i32>
Given the initial set of duplicated chats, deduplicate them based on the participants
This returns a new hashmap that maps the real chat ID to a new deduplicated unique chat ID that represents a single chat for all of the same participants, even if they have multiple handles
type T = BTreeSet<i32, Global>
source§impl Diagnostic for ChatToHandle
impl Diagnostic for ChatToHandle
source§fn run_diagnostic(db: &Connection) -> Result<(), TableError>
fn run_diagnostic(db: &Connection) -> Result<(), TableError>
Emit diagnostic data for the Chat to Handle join table
Get the number of chats referenced in the messages table that do not exist in this join table:
Example:
use imessage_database::util::dirs::default_db_path;
use imessage_database::tables::table::{Diagnostic, get_connection};
use imessage_database::tables::chat_handle::ChatToHandle;
let db_path = default_db_path();
let conn = get_connection(&db_path).unwrap();
ChatToHandle::run_diagnostic(&conn);source§impl Table for ChatToHandle
impl Table for ChatToHandle
source§fn from_row(row: &Row<'_>) -> Result<ChatToHandle>
fn from_row(row: &Row<'_>) -> Result<ChatToHandle>
Serializes a single row of data to an instance of the struct that implements this Trait
source§fn get(db: &Connection) -> Result<Statement<'_>, TableError>
fn get(db: &Connection) -> Result<Statement<'_>, TableError>
Gets a statement we can execute to iterate over the data in the table
Auto Trait Implementations§
impl RefUnwindSafe for ChatToHandle
impl Send for ChatToHandle
impl Sync for ChatToHandle
impl Unpin for ChatToHandle
impl UnwindSafe for ChatToHandle
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
Mutably borrows from an owned value. Read more