lib/ash_json_api/error/invalid_query.ex
defmodule AshJsonApi.Error.InvalidQuery do
@moduledoc """
Returned when the query provided is invalid
"""
@detail @moduledoc
@title "Invalid Query"
@status_code 400
use AshJsonApi.Error
alias AshJsonApi.Error.SchemaErrors
def new(opts) do
json_xema_error = opts[:json_xema_error]
opts_without_error = Keyword.delete(opts, :json_xema_error)
json_xema_error
|> SchemaErrors.all_errors()
|> Enum.map(fn %{path: path, message: message} ->
opts_without_error
|> Keyword.put(:detail, message)
|> Keyword.put(:source_parameter, path)
|> super()
end)
end
end