defmodule Ash.Error.Load.NoSuchRelationship do
@moduledoc "Used when attempting to load a relationship that does not exist"
use Ash.Error.Exception
def_ash_error([:resource, :relationship, :load_path], class: :invalid)
defimpl Ash.ErrorKind do
def id(_), do: Ash.UUID.generate()
def code(_), do: "no_such_load_relationship"
def class(_), do: :invalid
def message(%{resource: resource, relationship: relationship, load_path: load_path}) do
if load_path == [] do
"No such relationship #{inspect(resource)}.#{relationship}"
else
"No such relationship #{inspect(resource)}.#{relationship} at #{Enum.join(load_path, ".")}"
end
end
def stacktrace(_), do: nil
end
end