Skip to main content

SearchRepository

Trait SearchRepository 

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

Required Methods§

Source

fn save(&self, search: &Search) -> Result<(), CoreError>

Source

fn get(&self, search_id: &str) -> Result<Option<Search>, CoreError>

Source

fn save_results(&self, results: &[SearchResult]) -> Result<(), CoreError>

Source

fn get_results(&self, search_id: &str) -> Result<Vec<SearchResult>, CoreError>

Source

fn list_searches(&self, limit: i64) -> Result<Vec<Search>, CoreError>

Source

fn diff_searches( &self, search_id_a: &str, search_id_b: &str, ) -> Result<(Vec<String>, Vec<String>), CoreError>

Implementors§