Current section

Files

Jump to
ex_esdb src streams_triggers.erl
Raw

src/streams_triggers.erl

-module(streams_triggers).
-include_lib("khepri/include/khepri.hrl").
-export([register_on_new_event/3]).
-spec register_on_new_event(Store :: khepri:store_id(),
Id :: string(),
Filter :: khepri_evf:event_filter()) ->
ok | {error, term()}.
register_on_new_event(Store, Id, Filter) ->
Topic = emitter_group:topic(Store, Id),
PropOpts =
#{expect_specific_node => false,
props_to_return =>
[payload, payload_version, child_list_version, child_list_length, child_names],
include_root_props => true},
TriggerId = binary_to_atom(Id, utf8),
khepri:register_trigger(Store, TriggerId, Filter, [procs, on_new_event, Topic], PropOpts).