defmodule Ash.Error.Unknown do
@moduledoc "The top level unknown error container"
use Ash.Error.Exception
def_ash_error([:errors, stacktraces?: true], class: :unknown)
def exception(opts) do
if opts[:error] do
super(Keyword.update(opts, :errors, [opts[:error]], &[opts[:error] | &1]))
else
super(opts)
end
end
defimpl Ash.ErrorKind do
def id(_), do: Ash.UUID.generate()
def code(_), do: "unknown"
def message(%{errors: errors, stacktraces?: stacktraces?}) do
Ash.Error.error_messages(errors, nil, stacktraces?)
end
end
end