Packages

A library made for events-based architecture.

Current section

Files

Jump to
ev lib publishers database_persisted.ex
Raw

lib/publishers/database_persisted.ex

defmodule EV.Publishers.DatabasePersisted do
@moduledoc """
Persists published events to a database.
## Options
* `:repo` - full path `[:persistence_opts, :repo]`; required; module which defines the `Ecto.Repo` behavior;
used for persistence
"""
@behaviour EV.Publisher
@impl EV.Publisher
def call(changeset, opts) do
repo = EV.ConfigHelper.fetch_config!(opts, :repo, :persistence_opts)
repo.insert(changeset, [])
end
end