Or add audited_insert to the default repo:
defmodule MyApp.Repo do
# ... use Ecto.Repo, blah blah
defp audited(op, %User{} = user, args) do
transaction(fn ->
query("set session 'myapp.current_user' = '#{user.id}';")
apply(__MODULE__, op, args)
end)
end
def audited_insert(changeset, user, opts \\ []) do
audited(:insert, user, [changeset, opts])
end
# ... no need for defedelegates
end






















