mirror of
https://github.com/livebook-dev/livebook.git
synced 2024-09-20 10:05:57 +08:00
Update LivebookProto messages and minor fixes (#1962)
This commit is contained in:
parent
74bb69e670
commit
dd5850502d
|
@ -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()}
|
||||||
|
|
|
@ -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 """
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue