37 lines
850 B
Elixir
37 lines
850 B
Elixir
defmodule NullaWeb.AuthController do
|
|
use NullaWeb, :controller
|
|
alias Nulla.Models.User
|
|
|
|
def sign_in_view(conn, _params) do
|
|
render(conn, :sign_in, layout: false)
|
|
end
|
|
|
|
def sign_in(conn, _params) do
|
|
conn
|
|
|> redirect(to: "/")
|
|
end
|
|
|
|
def sign_out(conn, _params) do
|
|
conn
|
|
|> configure_session(drop: true)
|
|
|> put_flash(:info, "You have been logged out.")
|
|
|> redirect(to: "/")
|
|
end
|
|
|
|
def sign_up_view(conn, _params) do
|
|
render(conn, :sign_up, layout: false)
|
|
end
|
|
|
|
def sign_up(conn, params) do
|
|
case User.create_user(params) do
|
|
{:ok, user} ->
|
|
conn
|
|
|> put_session(:user_id, user.id)
|
|
|> put_flash(:info, "You're registred!")
|
|
|> redirect(to: "/")
|
|
|
|
{:error, %Ecto.Changeset{} = changeset} ->
|
|
render(conn, "sign_up.html", changeset: changeset)
|
|
end
|
|
end
|
|
end
|