EventStore.RecordedEvent (EventStore v1.2.1) View Source

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.

Link to this section Summary

Link to this section Types

Specs

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()
}

Specs

uuid() :: String.t()

Link to this section Functions

Link to this function

deserialize(recorded_event, serializer)

View Source
Link to this function

get_and_update(map, key, fun)

View Source