defmodule MaatFeatherWeb.UserController do use MaatFeatherWeb, :controller alias MaatFeather.Users alias MaatFeather.Users.User action_fallback MaatFeatherWeb.FallbackController def create(conn, %{"user" => user_params}) do with {:ok, %User{} = user} <- Users.create_user(user_params) 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