Add users

This commit is contained in:
Mirai Kumiko 2025-06-02 17:30:35 +02:00
parent 956f2625fd
commit 162aa095d3
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
15 changed files with 489 additions and 99 deletions

View file

@ -0,0 +1,62 @@
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