defmodule NullaWeb.UserController do use NullaWeb, :controller alias Nulla.Users alias Nulla.Users.User def index(conn, _params) do users = Users.list_users() render(conn, :index, users: users) end def new(conn, _params) do changeset = Users.change_user(%User{}) render(conn, :new, changeset: changeset) end def create(conn, %{"user" => user_params}) do case Users.create_user(user_params) do {:ok, user} -> conn |> put_flash(:info, "User created successfully.") |> redirect(to: ~p"/users/#{user}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :new, changeset: changeset) end end def show(conn, %{"id" => id}) do user = Users.get_user!(id) render(conn, :show, user: user) end def edit(conn, %{"id" => id}) do user = Users.get_user!(id) changeset = Users.change_user(user) render(conn, :edit, user: user, changeset: changeset) end def update(conn, %{"id" => id, "user" => user_params}) do user = Users.get_user!(id) case Users.update_user(user, user_params) do {:ok, user} -> conn |> put_flash(:info, "User updated successfully.") |> redirect(to: ~p"/users/#{user}") {:error, %Ecto.Changeset{} = changeset} -> render(conn, :edit, user: user, changeset: changeset) end end def delete(conn, %{"id" => id}) do user = Users.get_user!(id) {:ok, _user} = Users.delete_user(user) conn |> put_flash(:info, "User deleted successfully.") |> redirect(to: ~p"/users") end end