geeks_event_sourcing 0.3.1

Event sourcing crate for geeks productions.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use serde::{Deserialize, Serialize};

use crate::Version;

pub trait Event: Send + Sync + Clone {
  fn name(&self) -> &'static str;
}

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct PersistedEvent<T>
where
  T: Event,
{
  pub aggregate_id: String,
  pub version: Version,
  pub event: T,
}