Helios v0.1.0 Helios.EventJournal.Adapter behaviour View Source
Defines behaviour for EventJournal adapter.
Link to this section Summary
Callbacks
Append events to stream if given expected version matches to last written event in journals database
Reads single event from stream
Reads max_events
events from journal from given position backward until max_events or begining of stream is reached
Reads forward max_events
events from journal from given position
Link to this section Types
Link to this type
append_error()
View Source
append_error() :: :wrong_expected_version | :stream_deleted | :access_denied
Link to this section Callbacks
Link to this callback
append_to_stream(server, stream, events, expexted_version)
View Source
append_to_stream( server :: module(), stream :: stream_name(), events :: [Helios.EventJournal.Messages.EventData.t()], expexted_version :: event_number() ) :: {:ok, event_number()} | {:error, append_error()}
Append events to stream if given expected version matches to last written event in journals database
Link to this callback
delete_stream(server, stream, expected_version, hard_delete)
View Source
delete_stream( server :: module(), stream :: String.t(), expected_version :: integer(), hard_delete :: boolean() ) :: {:ok, [Helios.EventJournal.Messages.Position.t()]} | {:error, Helios.EventJournal.Messages.ReadAllEventsResponse.read_error()}
Link to this callback
get_stream_metadata(server, stream)
View Source
get_stream_metadata(server :: module(), stream :: stream_name()) :: {:ok, event_number()} | {:error, append_error()}
Link to this callback
read_all_events_backward(server, position, max_events, resolve_links)
View Source
read_all_events_backward( server :: module(), position :: {integer(), integer()}, max_events :: integer(), resolve_links :: boolean() ) :: {:ok, [Helios.EventJournal.Messages.ReadAllEventsResponse.t()]} | {:error, Helios.EventJournal.Messages.ReadAllEventsResponse.read_error()}
Link to this callback
read_all_events_forward(server, position, max_events, resolve_links)
View Source
read_all_events_forward( server :: module(), position :: {integer(), integer()}, max_events :: integer(), resolve_links :: boolean() ) :: {:ok, [Helios.EventJournal.Messages.ReadAllEventsResponse.t()]} | {:error, Helios.EventJournal.Messages.ReadAllEventsResponse.read_error()}
Link to this callback
read_event(server, stream, event_number, resolve_links)
View Source
read_event( server :: module(), stream :: stream_name(), event_number :: event_number(), resolve_links :: boolean() ) :: {:ok, Helios.EventJournal.Messages.PersistedEvent.t()} | {:error, Helios.EventJournal.Messages.PersistedEvent.read_error()}
Reads single event from stream
Link to this callback
read_stream_events_backward(server, stream, event_number, max_events, resolve_links)
View Source
read_stream_events_backward( server :: module(), stream :: stream_name(), event_number :: event_number(), max_events :: integer(), resolve_links :: boolean() ) :: {:ok, [Helios.EventJournal.Messages.ReadStreamEventsResponse.t()]} | {:error, Helios.EventJournal.Messages.ReadStreamEventsResponse.read_error()}
Reads max_events
events from journal from given position backward until max_events or begining of stream is reached
Link to this callback
read_stream_events_forward(server, stream, event_number, max_events, resolve_links)
View Source
read_stream_events_forward( server :: module(), stream :: stream_name(), event_number :: event_number(), max_events :: integer(), resolve_links :: boolean() ) :: {:ok, [Helios.EventJournal.Messages.ReadStreamEventsResponse.t()]} | {:error, Helios.EventJournal.Messages.ReadStreamEventsResponse.read_error()}
Reads forward max_events
events from journal from given position
Link to this callback
set_stream_metadata(server, stream, metadata, expexted_version)
View Source
set_stream_metadata( server :: module(), stream :: stream_name(), metadata :: map(), expexted_version :: event_number() ) :: {:ok, event_number()} | {:error, append_error()}