/api/invite triggers sending a mail invite to the given user.

This commit is contained in:
2026-02-19 20:58:34 +01:00
parent 6b31c6023f
commit a47931f40e
7 changed files with 76 additions and 0 deletions

View File

@ -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)