Struct indexdb_es::IndexDBEventRepository
source · pub struct IndexDBEventRepository { /* private fields */ }
Expand description
An event repository relying on a IndexDB database for persistence.
Implementations§
source§impl IndexDBEventRepository
impl IndexDBEventRepository
pub fn new(db_name: Option<String>, store_name: Option<String>) -> Self
pub async fn insert_events<A: Aggregate>( &self, events: &[SerializedEvent] ) -> Result<(), IndexDBAggregateError>
Trait Implementations§
source§impl PersistedEventRepository for IndexDBEventRepository
impl PersistedEventRepository for IndexDBEventRepository
source§fn get_events<'life0, 'life1, 'async_trait, A>(
&'life0 self,
aggregate_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Vec<SerializedEvent>, PersistenceError>> + Send + 'async_trait>>where
A: 'async_trait + Aggregate,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_events<'life0, 'life1, 'async_trait, A>( &'life0 self, aggregate_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<SerializedEvent>, PersistenceError>> + Send + 'async_trait>>where A: 'async_trait + Aggregate, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Returns all events for a single aggregate instance.
source§fn get_last_events<'life0, 'life1, 'async_trait, A>(
&'life0 self,
aggregate_id: &'life1 str,
last_sequence: usize
) -> Pin<Box<dyn Future<Output = Result<Vec<SerializedEvent>, PersistenceError>> + Send + 'async_trait>>where
A: 'async_trait + Aggregate,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_last_events<'life0, 'life1, 'async_trait, A>( &'life0 self, aggregate_id: &'life1 str, last_sequence: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<SerializedEvent>, PersistenceError>> + Send + 'async_trait>>where A: 'async_trait + Aggregate, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Returns the last events for a single aggregate instance.
source§fn get_snapshot<'life0, 'life1, 'async_trait, A>(
&'life0 self,
aggregate_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Option<SerializedSnapshot>, PersistenceError>> + Send + 'async_trait>>where
A: 'async_trait + Aggregate,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_snapshot<'life0, 'life1, 'async_trait, A>( &'life0 self, aggregate_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<SerializedSnapshot>, PersistenceError>> + Send + 'async_trait>>where A: 'async_trait + Aggregate, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Returns the current snapshot for an aggregate instance.
source§fn persist<'life0, 'life1, 'async_trait, A>(
&'life0 self,
events: &'life1 [SerializedEvent],
snapshot_update: Option<(String, Value, usize)>
) -> Pin<Box<dyn Future<Output = Result<(), PersistenceError>> + Send + 'async_trait>>where
A: 'async_trait + Aggregate,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn persist<'life0, 'life1, 'async_trait, A>( &'life0 self, events: &'life1 [SerializedEvent], snapshot_update: Option<(String, Value, usize)> ) -> Pin<Box<dyn Future<Output = Result<(), PersistenceError>> + Send + 'async_trait>>where A: 'async_trait + Aggregate, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Commits the updated aggregate and accompanying events.
source§fn stream_events<'life0, 'life1, 'async_trait, A>(
&'life0 self,
aggregate_id: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<ReplayStream, PersistenceError>> + Send + 'async_trait>>where
A: 'async_trait + Aggregate,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stream_events<'life0, 'life1, 'async_trait, A>( &'life0 self, aggregate_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<ReplayStream, PersistenceError>> + Send + 'async_trait>>where A: 'async_trait + Aggregate, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Streams all events for an aggregate instance.
source§fn stream_all_events<'life0, 'async_trait, A>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<ReplayStream, PersistenceError>> + Send + 'async_trait>>where
A: 'async_trait + Aggregate,
Self: 'async_trait,
'life0: 'async_trait,
fn stream_all_events<'life0, 'async_trait, A>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<ReplayStream, PersistenceError>> + Send + 'async_trait>>where A: 'async_trait + Aggregate, Self: 'async_trait, 'life0: 'async_trait,
Streams all events for an aggregate type.
Auto Trait Implementations§
impl RefUnwindSafe for IndexDBEventRepository
impl Send for IndexDBEventRepository
impl Sync for IndexDBEventRepository
impl Unpin for IndexDBEventRepository
impl UnwindSafe for IndexDBEventRepository
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