Files
Claper/lib/claper_web/controllers/mailbox_guard.ex
2023-09-09 17:20:51 +02:00

30 lines
783 B
Elixir

defmodule ClaperWeb.MailboxGuard do
import Plug.Conn
import Phoenix.Controller
def init(default), do: default
def call(conn, _params \\ %{}) do
mailbox_username =
Application.get_env(:claper, ClaperWeb.MailboxGuard) |> Keyword.get(:username)
mailbox_password =
Application.get_env(:claper, ClaperWeb.MailboxGuard) |> Keyword.get(:password)
mailbox_enabled =
Application.get_env(:claper, ClaperWeb.MailboxGuard) |> Keyword.get(:enabled)
IO.puts(mailbox_enabled)
if mailbox_enabled do
if mailbox_username && mailbox_password do
Plug.BasicAuth.basic_auth(conn, username: mailbox_username, password: mailbox_password)
else
conn
end
else
conn |> redirect(to: "/") |> halt()
end
end
end