zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

commit be56bf87ba7d803f32531dfd691b97522cba338e
parent fd9a214794be4032e0734550f891ffe6119c0018
Author: srfsh <dev@srf.sh>
Date:   Fri, 15 Jul 2022 12:36:15 +0300

gql: rename error-handling middleware

Diffstat:
Asrc/zenflows/gql/errors.ex | 24++++++++++++++++++++++++
Dsrc/zenflows/gql/midware.ex | 24------------------------
Msrc/zenflows/gql/schema.ex | 2+-
3 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/src/zenflows/gql/errors.ex b/src/zenflows/gql/errors.ex @@ -0,0 +1,24 @@ +defmodule Zenflows.GQL.Errors do +@moduledoc """ +Absinthe middleware for errors (Ecto.Changeset-only, for now). +""" + +alias Ecto.Changeset, as: Chgset + +@behaviour Absinthe.Middleware + +@impl true +def call(res, _) do + %{res | errors: Enum.flat_map(res.errors, &handle/1)} +end + +defp handle(%Chgset{} = cset) do + cset + |> Chgset.traverse_errors(&elem(&1, 0)) + |> Enum.map(fn {k, v} -> "#{k}: #{v}" end) +end + +defp handle(error) do + [error] +end +end diff --git a/src/zenflows/gql/midware.ex b/src/zenflows/gql/midware.ex @@ -1,24 +0,0 @@ -defmodule Zenflows.GQL.Midware do -@moduledoc """ -Absinthe middleware for Ecto.Changeset errors. -""" - -alias Ecto.Changeset, as: Chgset - -@behaviour Absinthe.Middleware - -@impl true -def call(res, _) do - %{res | errors: Enum.flat_map(res.errors, &handle/1)} -end - -defp handle(%Chgset{} = cset) do - cset - |> Chgset.traverse_errors(&elem(&1, 0)) - |> Enum.map(fn {k, v} -> "#{k}: #{v}" end) -end - -defp handle(error) do - [error] -end -end diff --git a/src/zenflows/gql/schema.ex b/src/zenflows/gql/schema.ex @@ -128,7 +128,7 @@ end @impl true def middleware(midware, _field, %{identifier: :mutation}) do - midware ++ [Zenflows.GQL.Midware] + midware ++ [Zenflows.GQL.Errors] end def middleware(midware, _field, _obj) do