Packages

A way to increase Elixir projects readability and maintenance based on Use Cases and Interactors.

Current section

Files

Jump to
use_case priv templates use_case.gen.phx_resource_json changeset_view.eex
Raw

priv/templates/use_case.gen.phx_resource_json/changeset_view.eex

defmodule <%= @context[:web_module] %>.ChangesetView do
use <%= @context[:web_module] %>, :view
@doc """
Traverses and translates changeset errors.
See `Ecto.Changeset.traverse_errors/2` and
`<%= @context[:web_module] %>.ErrorHelpers.translate_error/1` for more details.
"""
def translate_errors(changeset) do
Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
end
def render("error.json", %{changeset: changeset}) do
# When encoded, the changeset returns its errors
# as a JSON object. So we just pass it forward.
%{errors: translate_errors(changeset)}
end
end