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:
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