Encapsulate server access (#1605)

This commit is contained in:
José Valim 2022-12-24 11:35:06 -03:00 committed by GitHub
parent f9fb5194fa
commit b4696710e7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 13 deletions

View file

@ -20,9 +20,9 @@ defmodule Livebook.Hubs.EnterpriseClient do
@doc """
Gets the WebSocket server PID.
"""
@spec get_server(pid()) :: pid()
def get_server(pid) do
GenServer.call(pid, :get_server)
@spec send_request(pid(), WebSocket.proto()) :: {atom(), term()}
def send_request(pid, %_struct{} = data) do
Server.send_request(GenServer.call(pid, :get_server), data)
end
@doc """
@ -58,11 +58,6 @@ defmodule Livebook.Hubs.EnterpriseClient do
Phoenix.PubSub.unsubscribe(Livebook.PubSub, @pubsub_topic)
end
@doc """
"""
@spec broadcast_message(any()) :: :ok
## GenServer callbacks
@impl true

View file

@ -40,7 +40,7 @@ defmodule Livebook.WebSocket.Server do
@doc """
Sends a Request to given WebSocket Server.
"""
@spec send_request(pid(), WebSocket.proto()) :: {:ok, non_neg_integer()}
@spec send_request(pid(), WebSocket.proto()) :: {atom(), term()}
def send_request(conn, %_struct{} = data) do
Connection.call(conn, {:request, data}, @timeout)
end

View file

@ -5,7 +5,6 @@ defmodule LivebookWeb.Hub.New.EnterpriseComponent do
alias Livebook.EctoTypes.HexColor
alias Livebook.Hubs.{Enterprise, EnterpriseClient}
alias Livebook.WebSocket.Server
@impl true
def update(assigns, socket) do
@ -127,9 +126,7 @@ defmodule LivebookWeb.Hub.New.EnterpriseComponent do
session_request =
LivebookProto.SessionRequest.new!(app_version: Livebook.Config.app_version())
conn = EnterpriseClient.get_server(pid)
case Server.send_request(conn, session_request) do
case EnterpriseClient.send_request(pid, session_request) do
{:session, session_response} ->
base = %{base | external_id: session_response.user.id}
changeset = Enterprise.change_hub(base)