17 lines
461 B
Elixir
17 lines
461 B
Elixir
|
defmodule SomethingErlangWeb.UserLiveAuth do
|
||
|
import Phoenix.LiveView
|
||
|
|
||
|
alias SomethingErlang.Accounts
|
||
|
|
||
|
def on_mount(:default, _params, %{"user_token" => user_token} = _session, socket) do
|
||
|
user = Accounts.get_user_by_session_token(user_token)
|
||
|
socket = assign_new(socket, :current_user, fn -> user end)
|
||
|
|
||
|
if socket.assigns.current_user.confirmed_at do
|
||
|
{:cont, socket}
|
||
|
else
|
||
|
{:halt, redirect(socket, to: "/login")}
|
||
|
end
|
||
|
end
|
||
|
end
|