jetstream_oxide/events/
mod.rs

1pub mod account;
2pub mod commit;
3pub mod identity;
4
5use serde::Deserialize;
6
7use crate::exports;
8
9/// Basic data that is included with every event.
10#[derive(Deserialize, Debug)]
11pub struct EventInfo {
12    pub did: exports::Did,
13    pub time_us: u64,
14    pub kind: EventKind,
15}
16
17#[derive(Deserialize, Debug)]
18#[serde(untagged)]
19pub enum JetstreamEvent {
20    Commit(commit::CommitEvent),
21    Identity(identity::IdentityEvent),
22    Account(account::AccountEvent),
23}
24
25#[derive(Deserialize, Debug)]
26#[serde(rename_all = "snake_case")]
27pub enum EventKind {
28    Commit,
29    Identity,
30    Account,
31}