/api/invite triggers sending a mail invite to the given user.
This commit is contained in:
@ -37,6 +37,37 @@ defmodule BeetRoundServerWeb.UserController do
|
||||
render(conn, :show, user: user)
|
||||
end
|
||||
|
||||
def invite(conn, %{"user" => user_params}) do
|
||||
case Accounts.get_user!(user_params["user_id"]) do
|
||||
nil ->
|
||||
IO.puts("User couldn't be found! Reason:")
|
||||
|
||||
user ->
|
||||
user_params = Map.put(user_params, "email", user.email)
|
||||
|
||||
email =
|
||||
BeetRoundServer.UserEmail.invite(%{
|
||||
name: user_params["name"],
|
||||
email: user_params["email"],
|
||||
access_url: user_params["access_url"]
|
||||
})
|
||||
|
||||
case BeetRoundServer.Mailer.deliver(email) do
|
||||
{:ok, data} ->
|
||||
IO.puts("Mail sent successfully.")
|
||||
IO.inspect(data)
|
||||
render(conn, :mail_status, %{status: "Mail sent successfully."})
|
||||
|
||||
{:error, error} ->
|
||||
IO.puts("Mail error:")
|
||||
IO.inspect(error)
|
||||
render(conn, :show, %User{})
|
||||
|
||||
# render(conn, :error, error: error, user: user_params)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# def update(conn, %{"id" => id, "user" => user_params}) do
|
||||
# user = Accounts.get_user!(id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user