pub trait SearchRepository: Send + Sync {
// Required methods
fn save(&self, search: &Search) -> Result<(), CoreError>;
fn get(&self, search_id: &str) -> Result<Option<Search>, CoreError>;
fn save_results(&self, results: &[SearchResult]) -> Result<(), CoreError>;
fn get_results(
&self,
search_id: &str,
) -> Result<Vec<SearchResult>, CoreError>;
fn list_searches(&self, limit: i64) -> Result<Vec<Search>, CoreError>;
fn diff_searches(
&self,
search_id_a: &str,
search_id_b: &str,
) -> Result<(Vec<String>, Vec<String>), CoreError>;
}Expand description
Port for search run persistence.