#events #store #stream #deal #event-sourcing #aspect #uuid

event_store

处理事件存储各个方面的Crate

2个版本

0.1.1 2021年9月11日
0.1.0 2020年7月20日

#1825 in 编码


用于 chekov

MIT 协议

82KB
2K SLoC

EventStore

EventStore 允许您处理 Chekov 事件源各个方面的操作。

追加事件

通过在 event_store crate 根级别公开的流畅API来追加事件

use event_store::prelude::*;
#

let stream_uuid = Uuid::new_v4().to_string();
let my_event = MyEvent { account_id: Uuid::new_v4() };

event_store::append()
  .event(&my_event)?
  .to(&stream_uuid)?
  .execute(event_store)
  .await;

从流中读取

可以使用在 event_store crate 根级别公开的流畅API读取 Stream

use event_store::prelude::*;
#

let stream_uuid = Uuid::new_v4().to_string();

event_store::read()
  .stream(&stream_uuid)?
  .from(ReadVersion::Origin)
  .limit(10)
  .execute(event_store)
  .await;

依赖项

~15–29MB
~439K SLoC