defmodule ComponentsElixirWeb.AuthController do use ComponentsElixirWeb, :controller alias ComponentsElixir.Auth def authenticate(conn, %{"password" => password}) do case Auth.authenticate(password) do {:ok, :authenticated} -> conn |> Auth.sign_in() |> put_flash(:info, "Successfully logged in!") |> redirect(to: ~p"/") {:error, :invalid_credentials} -> conn |> put_flash(:error, "Invalid password") |> redirect(to: ~p"/login") end end def logout(conn, _params) do conn |> Auth.sign_out() |> put_flash(:info, "Logged out successfully") |> redirect(to: ~p"/login") end end