View Source EventStore.RecordedEvent (EventStore v1.4.7)

EventStore.RecordedEvent contains the persisted data and metadata for a single event.

Events are immutable once recorded.

Recorded event fields

  • event_number - position of the event within the stream. This will be identical to the stream_version when fetching events from a single stream. For the $all stream it will be the globally ordered event number.
  • event_id - a globally unique UUID to identify the event.
  • stream_uuid - the original stream identity for the event.
  • stream_version - the original version of the stream for the event.
  • correlation_id - an optional UUID identifier used to correlate related messages.
  • causation_id - an optional UUID identifier used to identify which message you are responding to.
  • data - the deserialized event data.
  • metadata - a deserialized map of event metadata.
  • created_at - a DateTime (in UTC) indicating when the event was created.

Summary

Types

t()

@type t() :: %EventStore.RecordedEvent{
  causation_id: uuid() | nil,
  correlation_id: uuid() | nil,
  created_at: DateTime.t(),
  data: any(),
  event_id: uuid(),
  event_number: non_neg_integer(),
  event_type: String.t(),
  metadata: map() | nil,
  stream_uuid: String.t(),
  stream_version: non_neg_integer()
}

uuid()

@type uuid() :: String.t()

Functions

deserialize(recorded_event, serializer)

fetch(map, key)

get_and_update(map, key, fun)