Files
music_library/lib/music_library_web/plug/require_login.ex
T
2024-10-21 10:29:05 +01:00

23 lines
496 B
Elixir

defmodule MusicLibraryWeb.Plug.RequireLogin do
@behaviour Plug
use Gettext, backend: MusicLibraryWeb.Gettext
import Plug.Conn
import Phoenix.Controller, only: [put_flash: 3, redirect: 2]
@impl true
def init(opts), do: opts
@impl true
def call(conn, _opts) do
if get_session(conn, :logged_in) do
conn
else
conn
|> put_flash(:error, gettext("You must be logged in to access this page"))
|> redirect(to: "/login")
|> halt()
end
end
end