defmodule Ash.Error.Invalid.Timeout do
@moduledoc "Used when a request to the api times out."
use Ash.Error.Exception
def_ash_error([:name, :timeout], class: :invalid)
defimpl Ash.ErrorKind do
def id(_), do: Ash.UUID.generate()
def code(_), do: "timeout"
def message(%{name: name, timeout: timeout}) do
"""
#{name} timed out after #{timeout}ms.
The default timeout can be configured on the api,
execution do
timeout :timer.seconds(60)
end
Each request can be configured with a timeout via `Ash.Changeset.timeout/2` or `Ash.Query.timeout/2`.
"""
end
end
end