Packages
livebook
0.9.1
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/livebook/hubs/broadcasts.ex
defmodule Livebook.Hubs.Broadcasts do
@moduledoc false
alias Livebook.Secrets.Secret
@type broadcast :: :ok | {:error, term()}
@crud_topic "hubs:crud"
@connection_topic "hubs:connection"
@secrets_topic "hubs:secrets"
@doc """
Broadcasts under `hubs:crud` topic when hubs changed.
"""
@spec hub_changed() :: broadcast()
def hub_changed do
broadcast(@crud_topic, :hub_changed)
end
@doc """
Broadcasts under `hubs:connection` topic when hub connected.
"""
@spec hub_connected() :: broadcast()
def hub_connected do
broadcast(@connection_topic, :hub_connected)
end
@doc """
Broadcasts under `hubs:connection` topic when hub disconnected.
"""
@spec hub_disconnected() :: broadcast()
def hub_disconnected do
broadcast(@connection_topic, :hub_disconnected)
end
@doc """
Broadcasts under `hubs:connection` topic when hub received a connection error.
"""
@spec hub_connection_failed(String.t()) :: broadcast()
def hub_connection_failed(reason) when is_binary(reason) do
broadcast(@connection_topic, {:hub_connection_failed, reason})
end
@doc """
Broadcasts under `hubs:secrets` topic when hub received a new secret.
"""
@spec secret_created(Secret.t()) :: broadcast()
def secret_created(%Secret{} = secret) do
broadcast(@secrets_topic, {:secret_created, secret})
end
@doc """
Broadcasts under `hubs:secrets` topic when hub received an updated secret.
"""
@spec secret_updated(Secret.t()) :: broadcast()
def secret_updated(%Secret{} = secret) do
broadcast(@secrets_topic, {:secret_updated, secret})
end
@doc """
Broadcasts under `hubs:secrets` topic when hub received a deleted secret.
"""
@spec secret_deleted(Secret.t()) :: broadcast()
def secret_deleted(%Secret{} = secret) do
broadcast(@secrets_topic, {:secret_deleted, secret})
end
defp broadcast(topic, message) do
Phoenix.PubSub.broadcast(Livebook.PubSub, topic, message)
end
end