View Source Carbonite.Multi (Carbonite v0.14.2)
This module provides functions for dealing with audit trails in the context of Ecto.Multi.
Summary
Functions
Adds a operation to an Ecto.Multi
to fetch the changes of the current transaction.
Adds an insert operation for a Carbonite.Transaction
to an Ecto.Multi
.
Sets the current transaction to "override mode" for all tables in the audit log.
Types
Functions
@spec fetch_changes(Ecto.Multi.t(), [prefix_option()]) :: Ecto.Multi.t()
Adds a operation to an Ecto.Multi
to fetch the changes of the current transaction.
Useful for returning all transaction changes to the caller.
Multi step is called :carbonite_changes
.
See Carbonite.fetch_changes/2
for options.
Example
Ecto.Multi.new()
|> Carbonite.Multi.insert_transaction(%{meta: %{type: "create_rabbit"}})
|> Ecto.Multi.insert(:rabbit, fn _ -> Rabbit.changeset(%{}) end)
|> Carbonite.Multi.fetch_changes()
insert_transaction(multi, params \\ %{}, opts \\ [])
View Source (since 0.2.0)@spec insert_transaction(Ecto.Multi.t(), params(), [prefix_option()]) :: Ecto.Multi.t()
Adds an insert operation for a Carbonite.Transaction
to an Ecto.Multi
.
Multi step is called :carbonite_transaction
.
See Carbonite.insert_transaction/3
for options.
Example
Ecto.Multi.new()
|> Carbonite.Multi.insert_transaction(%{meta: %{type: "create_rabbit"}})
|> Ecto.Multi.insert(:rabbit, fn _ -> Rabbit.changeset(%{}) end)
@spec override_mode(Ecto.Multi.t(), [ {:to, Carbonite.Trigger.mode()} | prefix_option() ]) :: Ecto.Multi.t()
Sets the current transaction to "override mode" for all tables in the audit log.
See Carbonite.override_mode/2
for options.