From aa2c79d312c5f7a916c72a4a6a6dbedda106ecfa Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 9 Mar 2021 11:56:09 +0100 Subject: [PATCH] Fixes for Bamboo 2.0 Signed-off-by: Thomas Citharel --- lib/graphql/resolvers/user.ex | 5 +++-- lib/web/email/user.ex | 16 ++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/graphql/resolvers/user.ex b/lib/graphql/resolvers/user.ex index 79f512917..1893bab0d 100644 --- a/lib/graphql/resolvers/user.ex +++ b/lib/graphql/resolvers/user.ex @@ -117,8 +117,9 @@ defmodule Mobilizon.GraphQL.Resolvers.User do @spec create_user(any, map, any) :: tuple def create_user(_parent, args, _resolution) do with :registration_ok <- check_registration_config(args), - {:ok, %User{} = user} <- Users.register(args) do - Email.User.send_confirmation_email(user, Map.get(args, :locale, "en")) + {:ok, %User{} = user} <- Users.register(args), + {:ok, %Bamboo.Email{}} <- + Email.User.send_confirmation_email(user, Map.get(args, :locale, "en")) do {:ok, user} else :registration_closed -> diff --git a/lib/web/email/user.ex b/lib/web/email/user.ex index e4921836c..01d315434 100644 --- a/lib/web/email/user.ex +++ b/lib/web/email/user.ex @@ -79,13 +79,14 @@ defmodule Mobilizon.Web.Email.User do {:ok, user} <- Users.update_user(user, %{ "confirmation_sent_at" => DateTime.utc_now() |> DateTime.truncate(:second) - }) do - send_confirmation_email(user, locale) + }), + {:ok, %Bamboo.Email{}} <- send_confirmation_email(user, locale) do Logger.info("Sent confirmation email again to #{user.email}") {:ok, user.email} end end + @spec send_confirmation_email(User.t(), String.t()) :: {:ok, Bamboo.Email.t()} | {:error, any()} def send_confirmation_email(%User{} = user, locale \\ "en") do user |> Email.User.confirmation_email(locale) @@ -130,12 +131,11 @@ defmodule Mobilizon.Web.Email.User do "reset_password_token" => Crypto.random_string(30), "reset_password_sent_at" => DateTime.utc_now() |> DateTime.truncate(:second) }) - ) do - mail = - user_updated - |> Email.User.reset_password_email(locale) - |> Email.Mailer.deliver_later() - + ), + {:ok, %Bamboo.Email{} = mail} <- + user_updated + |> Email.User.reset_password_email(locale) + |> Email.Mailer.deliver_later() do {:ok, mail} else {:error, reason} -> {:error, reason}