Files
bDS2/lib/bds/desktop/endpoint.ex

43 lines
966 B
Elixir

defmodule BDS.Desktop.Endpoint do
@moduledoc false
use Phoenix.Endpoint, otp_app: :bds
@session_options [
store: :cookie,
key: "_bds_desktop_key",
signing_salt: "desktop-shell"
]
socket "/live", Phoenix.LiveView.Socket,
websocket: [connect_info: [session: @session_options]]
plug Plug.Session, @session_options
plug :maybe_require_desktop_auth
plug Plug.Static,
at: "/assets",
from: {:bds, "priv/ui"},
only: ["app.css", "live.js", "monaco"]
plug Plug.Static,
at: "/vendor/phoenix",
from: {:phoenix, "priv/static"},
only: ["phoenix.min.js"]
plug Plug.Static,
at: "/vendor/live_view",
from: {:phoenix_live_view, "priv/static"},
only: ["phoenix_live_view.min.js"]
plug BDS.Desktop.Router
defp maybe_require_desktop_auth(conn, _opts) do
if System.get_env("BDS_DESKTOP_AUTOMATION") in ["1", "true", "TRUE"] do
conn
else
Desktop.Auth.call(conn, [])
end
end
end