45 lines
978 B
Elixir
45 lines
978 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
|