Struct postgres_es::PostgresStoreAggregateContext [−][src]
pub struct PostgresStoreAggregateContext<A: Aggregate> { pub aggregate_id: String, pub aggregate: A, pub current_sequence: usize, }
Expand description
Holds context for a pure event store implementation for MemStore
Fields
aggregate_id: String
The aggregate ID of the aggregate instance that has been loaded.
aggregate: A
The current state of the aggregate instance.
current_sequence: usize
The last committed event sequence number for this aggregate instance.
Trait Implementations
impl<A: Aggregate> AggregateContext<A> for PostgresStoreAggregateContext<A>
[src]
impl<A: Aggregate> AggregateContext<A> for PostgresStoreAggregateContext<A>
[src]impl<A: Aggregate> EventStore<A, PostgresStoreAggregateContext<A>> for PostgresStore<A>
[src]
impl<A: Aggregate> EventStore<A, PostgresStoreAggregateContext<A>> for PostgresStore<A>
[src]fn load(&self, aggregate_id: &str) -> Vec<EventEnvelope<A>>
[src]
fn load(&self, aggregate_id: &str) -> Vec<EventEnvelope<A>>
[src]Load all events for a particular aggregate_id
fn load_aggregate(&self, aggregate_id: &str) -> PostgresStoreAggregateContext<A>
[src]
fn load_aggregate(&self, aggregate_id: &str) -> PostgresStoreAggregateContext<A>
[src]Load aggregate at current state
fn commit(
&self,
events: Vec<A::Event>,
context: PostgresStoreAggregateContext<A>,
metadata: HashMap<String, String>
) -> Result<Vec<EventEnvelope<A>>, AggregateError>
[src]
fn commit(
&self,
events: Vec<A::Event>,
context: PostgresStoreAggregateContext<A>,
metadata: HashMap<String, String>
) -> Result<Vec<EventEnvelope<A>>, AggregateError>
[src]Commit new events
fn wrap_events(
&self,
aggregate_id: &str,
current_sequence: usize,
resultant_events: Vec<<A as Aggregate>::Event, Global>,
base_metadata: HashMap<String, String, RandomState>
) -> Vec<EventEnvelope<A>, Global>
[src]
fn wrap_events(
&self,
aggregate_id: &str,
current_sequence: usize,
resultant_events: Vec<<A as Aggregate>::Event, Global>,
base_metadata: HashMap<String, String, RandomState>
) -> Vec<EventEnvelope<A>, Global>
[src]Method to wrap a set of events with the additional metadata needed for persistence and publishing
Auto Trait Implementations
impl<A> RefUnwindSafe for PostgresStoreAggregateContext<A> where
A: RefUnwindSafe,
A: RefUnwindSafe,
impl<A> Send for PostgresStoreAggregateContext<A>
impl<A> Sync for PostgresStoreAggregateContext<A>
impl<A> Unpin for PostgresStoreAggregateContext<A> where
A: Unpin,
A: Unpin,
impl<A> UnwindSafe for PostgresStoreAggregateContext<A> where
A: UnwindSafe,
A: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self