pub trait EventSourcedAggregate: AggregateRoot {
// Required methods
fn from_events(
id: String,
events: impl IntoIterator<Item = Self::Event>,
) -> Self
where Self: Sized;
fn all_events(&self) -> Vec<Self::Event>;
}Expand description
Extension trait for aggregates that support event sourcing.
Required Methods§
Sourcefn from_events(
id: String,
events: impl IntoIterator<Item = Self::Event>,
) -> Selfwhere
Self: Sized,
fn from_events(
id: String,
events: impl IntoIterator<Item = Self::Event>,
) -> Selfwhere
Self: Sized,
Reconstruct the aggregate from a stream of events.
Sourcefn all_events(&self) -> Vec<Self::Event>
fn all_events(&self) -> Vec<Self::Event>
Get all events (including committed ones) for event sourcing.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".