Chronicle.EventStoreSubscriptions.Subscription behaviour (cratis_chronicle v0.2.0)

Copy Markdown View Source

Behaviour and macro for defining discoverable Chronicle event store subscriptions.

Discoverable subscriptions follow the same pattern as reactors and webhooks: metadata is captured at compile time and exposed through __chronicle_event_store_subscription__/1.

Usage

defmodule MyApp.EventStoreSubscriptions.DefaultAccountEvents do
  use Chronicle.EventStoreSubscriptions.Subscription,
    source_event_store: "default"

  alias Chronicle.EventStoreSubscriptions.DefinitionBuilder

  @impl true
  def define(builder) do
    builder
    |> DefinitionBuilder.with_event_type(MyApp.Events.AccountOpened)
    |> DefinitionBuilder.with_event_type(MyApp.Events.FundsDeposited)
  end
end

Options for use Chronicle.EventStoreSubscriptions.Subscription:

  • :source_event_storerequired source event store name
  • :id — stable subscription identifier. Defaults to the module name.

Summary

Callbacks