zf

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

commit d2f1d8c880594286165544b3b1e3d6b3171e3489
parent 778f66fafc5aa7ec625579929a0c0d8b06b72fdc
Author: srfsh <dev@srf.sh>
Date:   Thu, 28 Jul 2022 14:22:35 +0300

Zenflows.Keypairoom: update to comply zencode

Diffstat:
Msrc/zenflows/keypairoom/domain.ex | 12++++++------
Msrc/zenflows/keypairoom/resolv.ex | 15+++++++++++----
Msrc/zenflows/keypairoom/type.ex | 2+-
3 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/src/zenflows/keypairoom/domain.ex b/src/zenflows/keypairoom/domain.ex @@ -24,15 +24,15 @@ tasks. alias Zenflows.Restroom alias Zenflows.VF.Person -def keypairoom_server(false, email) do - if Person.Domain.exists_email(email), - do: Restroom.keypairoom_server(email), +def keypairoom_server(false, data) do + if Person.Domain.exists_email(Map.fetch!(data, "email")), + do: Restroom.keypairoom_server(data), else: {:error, "email doesn't exists"} end -def keypairoom_server(true, email) do - if Person.Domain.exists_email(email), +def keypairoom_server(true, data) do + if Person.Domain.exists_email(Map.fetch!(data, "email")), do: {:error, "email exists"}, - else: Restroom.keypairoom_server(email) + else: Restroom.keypairoom_server(data) end end diff --git a/src/zenflows/keypairoom/resolv.ex b/src/zenflows/keypairoom/resolv.ex @@ -22,11 +22,18 @@ require Logger alias Zenflows.Keypairoom.Domain -def keypairoom_server(%{first_registration: first?, email: email}, _) do - case Domain.keypairoom_server(first?, email) do - {:ok, value} -> - {:ok, value} +def keypairoom_server(%{first_registration: first?, user_data: data}, _) do + case Jason.decode(data) do + {:ok, %{"email" => email} = data} when is_binary(email) -> + case Domain.keypairoom_server(first?, data) do + {:ok, value} -> + {:ok, value} + {:error, reason} -> + {:error, reason} + end + {:ok, _} -> + {:error, "invalid user-data must contain email that is a string"} {:error, reason} -> {:error, reason} end diff --git a/src/zenflows/keypairoom/type.ex b/src/zenflows/keypairoom/type.ex @@ -27,7 +27,7 @@ object :mutation_keypairoom do meta only_guest?: true arg :first_registration, non_null(:boolean) - arg :email, non_null(:string) + arg :user_data, non_null(:string) resolve &Resolv.keypairoom_server/2 end end