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
Load all events for a particular aggregate_id
Load aggregate at current state
fn commit(
&self,
events: Vec<A::Event>,
context: PostgresStoreAggregateContext<A>,
metadata: HashMap<String, String>
) -> Result<Vec<EventEnvelope<A>>, AggregateError>
fn commit(
&self,
events: Vec<A::Event>,
context: PostgresStoreAggregateContext<A>,
metadata: HashMap<String, String>
) -> Result<Vec<EventEnvelope<A>>, AggregateError>
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>
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>
Method to wrap a set of events with the additional metadata needed for persistence and publishing