Current section

Files

Jump to
maat_feather lib maat_feather_web controllers user_controller.ex
Raw

lib/maat_feather_web/controllers/user_controller.ex

defmodule MaatFeatherWeb.UserController do
use MaatFeatherWeb, :controller
alias MaatFeather.Users
alias MaatFeather.Users.User
alias MaatFeather.Mailer.AuthEmail
action_fallback MaatFeatherWeb.FallbackController
def create(conn, %{"user" => user_params}) do
with {:ok, %User{} = user} <- Users.create_user(user_params),
{:ok, _} <- AuthEmail.account_verification(user) do
conn
|> put_status(:created)
|> render("show.json", user: user)
end
end
def update(%Plug.Conn{assigns: %{user: %{"sub" => address}}} = conn, %{
"address" => user_address,
"user" => user_params
}) do
with true <- address == user_address,
%User{} = user <- Users.get_user!(user_address),
{:ok, user} <- Users.update_user(user, user_params) do
conn
|> put_status(:ok)
|> render("show.json", user: user)
end
end
end