pub struct QueryContext {
pub start: Option<i64>,
pub end: Option<i64>,
pub selected_handle_ids: Option<BTreeSet<i32>>,
pub selected_chat_ids: Option<BTreeSet<i32>>,
}Expand description
Represents filter configurations for a SQL query.
Fields§
§start: Option<i64>The start date filter. Only messages sent on or after this date will be included.
end: Option<i64>The end date filter. Only messages sent before this date will be included.
selected_handle_ids: Option<BTreeSet<i32>>Selected handle IDs
selected_chat_ids: Option<BTreeSet<i32>>Selected chat IDs
Implementations§
Source§impl QueryContext
impl QueryContext
Sourcepub fn set_start(&mut self, start: &str) -> Result<(), QueryContextError>
pub fn set_start(&mut self, start: &str) -> Result<(), QueryContextError>
Populate a QueryContext with a start date
§Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_start("2023-01-01");Sourcepub fn set_end(&mut self, end: &str) -> Result<(), QueryContextError>
pub fn set_end(&mut self, end: &str) -> Result<(), QueryContextError>
Populate a QueryContext with an end date
§Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_end("2023-01-01");Sourcepub fn set_selected_handle_ids(&mut self, selected_handle_ids: BTreeSet<i32>)
pub fn set_selected_handle_ids(&mut self, selected_handle_ids: BTreeSet<i32>)
Populate a QueryContext with a list of handle IDs to select
§Example:
use std::collections::BTreeSet;
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_selected_handle_ids(BTreeSet::from([1, 2, 3]));Sourcepub fn set_selected_chat_ids(&mut self, selected_chat_ids: BTreeSet<i32>)
pub fn set_selected_chat_ids(&mut self, selected_chat_ids: BTreeSet<i32>)
Populate a QueryContext with a list of chat IDs to select
§Example:
use std::collections::BTreeSet;
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_selected_chat_ids(BTreeSet::from([1, 2, 3]));Sourcepub fn has_filters(&self) -> bool
pub fn has_filters(&self) -> bool
Determine if the current QueryContext has any filters present
§Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
assert!(!context.has_filters());
context.set_start("2023-01-01");
assert!(context.has_filters());Trait Implementations§
Source§impl Debug for QueryContext
impl Debug for QueryContext
Source§impl Default for QueryContext
impl Default for QueryContext
Source§fn default() -> QueryContext
fn default() -> QueryContext
Returns the “default value” for a type. Read more
Source§impl PartialEq for QueryContext
impl PartialEq for QueryContext
impl Eq for QueryContext
impl StructuralPartialEq for QueryContext
Auto Trait Implementations§
impl Freeze for QueryContext
impl RefUnwindSafe for QueryContext
impl Send for QueryContext
impl Sync for QueryContext
impl Unpin for QueryContext
impl UnwindSafe for QueryContext
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.