pub trait Database {
    fn save<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        h: &'life1 History
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn save_bulk<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        h: &'life1 [History]
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn load<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<History>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn list<'life0, 'life1, 'async_trait>(
        &'life0 self,
        filter: FilterMode,
        context: &'life1 Context,
        max: Option<usize>,
        unique: bool
    ) -> Pin<Box<dyn Future<Output = Result<Vec<History>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn range<'life0, 'async_trait>(
        &'life0 self,
        from: DateTime<Utc>,
        to: DateTime<Utc>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<History>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn update<'life0, 'life1, 'async_trait>(
        &'life0 self,
        h: &'life1 History
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn history_count<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<i64>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn first<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<History>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn last<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<History>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn before<'life0, 'async_trait>(
        &'life0 self,
        timestamp: DateTime<Utc>,
        count: i64
    ) -> Pin<Box<dyn Future<Output = Result<Vec<History>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn search<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        limit: Option<i64>,
        search_mode: SearchMode,
        filter: FilterMode,
        context: &'life1 Context,
        query: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<History>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn query_history<'life0, 'life1, 'async_trait>(
        &'life0 self,
        query: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<History>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; }

Required Methods

Implementors