tsuzuri 0.1.285

Tsuzuri is a Event Sourcing framework for Rust, designed to be simple and easy to use.
Documentation
use crate::{
    aggregate_id::{AggregateId, HasIdPrefix},
    message,
};
use std::fmt;

pub mod handler;
pub mod integration_event_adapter;
pub mod repository;

#[allow(dead_code)]
pub type Envelope<T> = message::Envelope<T>;

/// Marker trait for commands that can be handled by aggregates.
/// Commands represent intentions to change the state of an aggregate.
pub trait Command: fmt::Debug + message::Message + Send + Sync + 'static {
    type ID: HasIdPrefix;

    fn id(&self) -> AggregateId<Self::ID>;
}