Trait esrs::store::EventStore[][src]

pub trait EventStore<Event: Serialize + DeserializeOwned + Clone + Send + Sync, Error> {
    #[must_use]
    fn by_aggregate_id<'life0, 'async_trait>(
        &'life0 self,
        id: Uuid
    ) -> Pin<Box<dyn Future<Output = Result<Vec<StoreEvent<Event>>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn persist<'life0, 'async_trait>(
        &'life0 self,
        aggregate_id: Uuid,
        event: Event,
        sequence_number: SequenceNumber
    ) -> Pin<Box<dyn Future<Output = Result<StoreEvent<Event>, Error>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn close<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }

Required methods

#[must_use]
fn by_aggregate_id<'life0, 'async_trait>(
    &'life0 self,
    id: Uuid
) -> Pin<Box<dyn Future<Output = Result<Vec<StoreEvent<Event>>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]
fn persist<'life0, 'async_trait>(
    &'life0 self,
    aggregate_id: Uuid,
    event: Event,
    sequence_number: SequenceNumber
) -> Pin<Box<dyn Future<Output = Result<StoreEvent<Event>, Error>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]
fn close<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

Implementors

impl<Evt: Serialize + DeserializeOwned + Clone + Send + Sync, Err: From<Error> + From<Error> + Send + Sync> EventStore<Evt, Err> for PgStore<Evt, Err>[src]

fn by_aggregate_id<'life0, 'async_trait>(
    &'life0 self,
    id: Uuid
) -> Pin<Box<dyn Future<Output = Result<Vec<StoreEvent<Evt>>, Err>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

fn persist<'life0, 'async_trait>(
    &'life0 self,
    aggregate_id: Uuid,
    event: Evt,
    sequence_number: SequenceNumber
) -> Pin<Box<dyn Future<Output = Result<StoreEvent<Evt>, Err>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

fn close<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]