1
0
mirror of https://github.com/danbee/chess synced 2025-03-04 08:39:06 +00:00
chess/lib/chess_web/controllers/session_controller.ex
2018-02-02 10:31:04 -05:00

29 lines
735 B
Elixir

defmodule ChessWeb.SessionController do
use ChessWeb, :controller
alias Chess.Auth
alias Chess.Auth.User
def new(conn, _params) do
changeset = User.changeset(%User{})
render(conn, "new.html", changeset: changeset)
end
def create(
conn,
%{"user" => %{"username" => username, "password" => password}}
) do
case Auth.authenticate_user(username, password) do
{:ok, _user} ->
conn
|> put_flash(:info, "You are signed in")
|> redirect(to: game_path(conn, :index))
{:error, _error} ->
changeset = User.changeset(%User{})
conn
|> put_flash(:error, "Bad username or password")
|> render("new.html", changeset: changeset)
end
end
end