Update LivebookProto messages and minor fixes (#1962)

This commit is contained in:
Alexandre de Souza 2023-06-06 08:49:09 -03:00 committed by GitHub
parent 74bb69e670
commit dd5850502d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 17 additions and 20 deletions

View file

@ -125,11 +125,13 @@ defmodule Livebook.Hubs do
* `:hub_connected` * `:hub_connected`
* `:hub_disconnected` * `:hub_disconnected`
* `{:hub_connection_failed, reason}` * `{:hub_connection_failed, reason}`
* `{:hub_server_error, reason}`
Topic `hubs:secrets`: Topic `hubs:secrets`:
* `{:secret_created, %Secret{}}` * `{:secret_created, %Secret{}}`
* `{:secret_updated, %Secret{}}` * `{:secret_updated, %Secret{}}`
* `{:secret_deleted, %Secret{}}`
""" """
@spec subscribe(atom() | list(atom())) :: :ok | {:error, term()} @spec subscribe(atom() | list(atom())) :: :ok | {:error, term()}

View file

@ -4,11 +4,8 @@ defprotocol Livebook.Hubs.Provider do
alias Livebook.Secrets.Secret alias Livebook.Secrets.Secret
@type capability :: :connect | :list_secrets | :create_secret @type capability :: :connect | :list_secrets | :create_secret
@type capabilities :: list(capability()) @type capabilities :: list(capability())
@type changeset_errors :: %{required(:errors) => list({String.t(), {String.t(), list()}})}
@typedoc """ @typedoc """
An provider-specific map stored as notebook stamp. An provider-specific map stored as notebook stamp.
@ -71,19 +68,19 @@ defprotocol Livebook.Hubs.Provider do
@doc """ @doc """
Creates a secret of the given hub. Creates a secret of the given hub.
""" """
@spec create_secret(t(), Secret.t()) :: :ok | {:error, changeset_errors()} @spec create_secret(t(), Secret.t()) :: :ok | {:error, Ecto.Changeset.t()}
def create_secret(hub, secret) def create_secret(hub, secret)
@doc """ @doc """
Updates a secret of the given hub. Updates a secret of the given hub.
""" """
@spec update_secret(t(), Secret.t()) :: :ok | {:error, changeset_errors()} @spec update_secret(t(), Secret.t()) :: :ok | {:error, Ecto.Changeset.t()}
def update_secret(hub, secret) def update_secret(hub, secret)
@doc """ @doc """
Deletes a secret of the given hub. Deletes a secret of the given hub.
""" """
@spec delete_secret(t(), Secret.t()) :: :ok | {:error, changeset_errors()} @spec delete_secret(t(), Secret.t()) :: :ok | {:error, Ecto.Changeset.t()}
def delete_secret(hub, secret) def delete_secret(hub, secret)
@doc """ @doc """

View file

@ -58,14 +58,14 @@ defmodule Livebook.Hubs.TeamClient do
@impl true @impl true
def init(%Team{} = team) do def init(%Team{} = team) do
header = [ headers = [
{"x-user", to_string(team.user_id)}, {"x-user", to_string(team.user_id)},
{"x-org", to_string(team.org_id)}, {"x-org", to_string(team.org_id)},
{"x-org-key", to_string(team.org_key_id)}, {"x-org-key", to_string(team.org_key_id)},
{"x-session-token", team.session_token} {"x-session-token", team.session_token}
] ]
{:ok, _pid} = Connection.start_link(self(), header) {:ok, _pid} = Connection.start_link(self(), headers)
{:ok, %__MODULE__{hub: team}} {:ok, %__MODULE__{hub: team}}
end end

View file

@ -31,16 +31,16 @@ defmodule Livebook.Teams.HTTP do
get("/api/org-request/#{id}?device_code=#{device_code}") get("/api/org-request/#{id}?device_code=#{device_code}")
end end
defp post(path, json, header \\ []) do defp post(path, json, headers \\ []) do
body = {"application/json", Jason.encode!(json)} body = {"application/json", Jason.encode!(json)}
request(:post, path, body: body, header: header) request(:post, path, body: body, headers: headers)
end end
defp get(path, params \\ %{}, header \\ []) do defp get(path, params \\ %{}, headers \\ []) do
query_string = URI.encode_query(params) query_string = URI.encode_query(params)
path = if query_string != "", do: "#{path}?#{query_string}", else: path path = if query_string != "", do: "#{path}?#{query_string}", else: path
request(:get, path, header: header) request(:get, path, headers: headers)
end end
defp request(method, path, opts) do defp request(method, path, opts) do

View file

@ -19,8 +19,8 @@ defmodule LivebookProto.Event do
json_name: "secretDeleted", json_name: "secretDeleted",
oneof: 0 oneof: 0
field :user_synchronized, 4, field :user_connected, 4,
type: LivebookProto.UserSynchronized, type: LivebookProto.UserConnected,
json_name: "userSynchronized", json_name: "userConnected",
oneof: 0 oneof: 0
end end

View file

@ -3,5 +3,4 @@ defmodule LivebookProto.SecretDeleted do
use Protobuf, protoc_gen_elixir_version: "0.11.0", syntax: :proto3 use Protobuf, protoc_gen_elixir_version: "0.11.0", syntax: :proto3
field :name, 1, type: :string field :name, 1, type: :string
field :value, 2, type: :string
end end

View file

@ -1,4 +1,4 @@
defmodule LivebookProto.UserSynchronized do defmodule LivebookProto.UserConnected do
@moduledoc false @moduledoc false
use Protobuf, protoc_gen_elixir_version: "0.11.0", syntax: :proto3 use Protobuf, protoc_gen_elixir_version: "0.11.0", syntax: :proto3

View file

@ -21,10 +21,9 @@ message SecretUpdated {
message SecretDeleted { message SecretDeleted {
string name = 1; string name = 1;
string value = 2;
} }
message UserSynchronized { message UserConnected {
string name = 1; string name = 1;
repeated Secret secrets = 2; repeated Secret secrets = 2;
} }
@ -34,6 +33,6 @@ message Event {
SecretCreated secret_created = 1; SecretCreated secret_created = 1;
SecretUpdated secret_updated = 2; SecretUpdated secret_updated = 2;
SecretDeleted secret_deleted = 3; SecretDeleted secret_deleted = 3;
UserSynchronized user_synchronized = 4; UserConnected user_connected = 4;
} }
} }