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_disconnected`
* `{:hub_connection_failed, reason}`
* `{:hub_server_error, reason}`
Topic `hubs:secrets`:
* `{:secret_created, %Secret{}}`
* `{:secret_updated, %Secret{}}`
* `{:secret_deleted, %Secret{}}`
"""
@spec subscribe(atom() | list(atom())) :: :ok | {:error, term()}

View file

@ -4,11 +4,8 @@ defprotocol Livebook.Hubs.Provider do
alias Livebook.Secrets.Secret
@type capability :: :connect | :list_secrets | :create_secret
@type capabilities :: list(capability())
@type changeset_errors :: %{required(:errors) => list({String.t(), {String.t(), list()}})}
@typedoc """
An provider-specific map stored as notebook stamp.
@ -71,19 +68,19 @@ defprotocol Livebook.Hubs.Provider do
@doc """
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)
@doc """
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)
@doc """
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)
@doc """

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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