use crate::model::JdbModel; pub type GeoffreyDBQuery = Box bool>; pub struct QueryBuilder { pub queries: Vec>, } impl Default for QueryBuilder { fn default() -> Self { Self::new() } } impl QueryBuilder { pub fn new() -> Self { QueryBuilder { queries: Vec::new(), } } pub fn add_query_clause(mut self, clause: GeoffreyDBQuery) -> Self { self.queries.push(clause); self } pub fn with_id(self, id: u64) -> Self { self.add_query_clause(Box::new(move |entry_id, _| entry_id == id)) } }