mirror of
https://github.com/ash-project/ash_hq.git
synced 2024-09-20 05:13:23 +12:00
24 lines
592 B
Elixir
24 lines
592 B
Elixir
defmodule AshHqWeb.LiveUserAuth do
|
|
@moduledoc """
|
|
Helpers for authenticating users in liveviews
|
|
"""
|
|
|
|
import Phoenix.Component
|
|
use AshHqWeb, :verified_routes
|
|
|
|
def on_mount(:live_user_optional, _params, _session, socket) do
|
|
if socket.assigns[:current_user] do
|
|
{:cont, socket}
|
|
else
|
|
{:cont, assign(socket, :current_user, nil)}
|
|
end
|
|
end
|
|
|
|
def on_mount(:live_user_required, _params, _session, socket) do
|
|
if socket.assigns[:current_user] do
|
|
{:cont, socket}
|
|
else
|
|
{:halt, Phoenix.LiveView.redirect(socket, to: ~p"/sign-in")}
|
|
end
|
|
end
|
|
end
|