Struct mysql_es::MysqlEventRepository
source · [−]pub struct MysqlEventRepository { /* private fields */ }Expand description
A snapshot backed event repository for use in backing a PersistedSnapshotStore.
Implementations
sourceimpl MysqlEventRepository
impl MysqlEventRepository
sourcepub fn new(pool: Pool<MySql>) -> Self
pub fn new(pool: Pool<MySql>) -> Self
Creates a new MysqlEventRepository from the provided database connection
used for backing a MysqlSnapshotStore. This uses the default tables ‘events’
and ‘snapshots’.
use sqlx::{MySql, Pool};
use mysql_es::MysqlEventRepository;
fn configure_repo(pool: Pool<MySql>) -> MysqlEventRepository {
MysqlEventRepository::new(pool)
}sourcepub fn with_tables(self, events_table: &str, snapshots_table: &str) -> Self
pub fn with_tables(self, events_table: &str, snapshots_table: &str) -> Self
Configures a MysqlEventRepository to use the provided table names.
use sqlx::{MySql, Pool};
use mysql_es::MysqlEventRepository;
fn configure_repo(pool: Pool<MySql>) -> MysqlEventRepository {
let store = MysqlEventRepository::new(pool);
store.with_tables("my_event_table", "my_snapshot_table")
}Trait Implementations
sourceimpl PersistedEventRepository for MysqlEventRepository
impl PersistedEventRepository for MysqlEventRepository
sourcefn 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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Returns all events for a single aggregate instance.
sourcefn 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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Returns the last events for a single aggregate instance.
sourcefn 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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Returns the current snapshot for an aggregate instance.
sourcefn 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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: '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,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Commits the updated aggregate and accompanying events.
Auto Trait Implementations
impl !RefUnwindSafe for MysqlEventRepository
impl Send for MysqlEventRepository
impl Sync for MysqlEventRepository
impl Unpin for MysqlEventRepository
impl !UnwindSafe for MysqlEventRepository
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more