defmodule TribeOne.TribesPlugin.Kobold.Changes.ProjectCommit do @moduledoc false use Ash.Resource.Change alias TribeOne.TribesPlugin.Kobold.Projector @impl true def change(changeset, _opts, _context) do Ash.Changeset.after_transaction(changeset, fn _changeset, result -> case result do {:ok, commit} -> case Projector.apply_commit(commit) do {:ok, _count} -> result {:error, reason} -> {:error, reason} end _other -> result end end) end @impl true def atomic(_changeset, _opts, _context), do: :ok end