Files
component-system/lib/components_elixir_web/controllers/auth_controller.ex
2025-09-14 12:19:44 +02:00

28 lines
680 B
Elixir

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