mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-10-27 13:56:21 +08:00
Simplify update_file_system API
This commit is contained in:
parent
835afa8287
commit
22d8e40ab6
2 changed files with 5 additions and 20 deletions
|
|
@ -7,29 +7,12 @@ defmodule Livebook.FileSystems do
|
||||||
@spec type(FileSystem.t()) :: String.t()
|
@spec type(FileSystem.t()) :: String.t()
|
||||||
def type(%module{}), do: module_to_type(module)
|
def type(%module{}), do: module_to_type(module)
|
||||||
|
|
||||||
@doc """
|
|
||||||
Updates file system with the given changes.
|
|
||||||
"""
|
|
||||||
@spec update_file_system(FileSystem.t(), map()) ::
|
|
||||||
{:ok, FileSystem.t()} | {:error, Ecto.Changeset.t()}
|
|
||||||
def update_file_system(file_system, attrs) do
|
|
||||||
file_system
|
|
||||||
|> change_file_system(attrs)
|
|
||||||
|> Ecto.Changeset.apply_action(:update)
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc """
|
|
||||||
Returns an `%Ecto.Changeset{}` for tracking file system changes.
|
|
||||||
"""
|
|
||||||
@spec change_file_system(FileSystem.t()) :: Ecto.Changeset.t()
|
|
||||||
def change_file_system(file_system) do
|
|
||||||
change_file_system(file_system, %{})
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Returns an `%Ecto.Changeset{}` for tracking file system changes.
|
Returns an `%Ecto.Changeset{}` for tracking file system changes.
|
||||||
"""
|
"""
|
||||||
@spec change_file_system(FileSystem.t(), map()) :: Ecto.Changeset.t()
|
@spec change_file_system(FileSystem.t(), map()) :: Ecto.Changeset.t()
|
||||||
|
def change_file_system(file_system, attrs \\ %{})
|
||||||
|
|
||||||
def change_file_system(%FileSystem.S3{} = file_system, attrs) do
|
def change_file_system(%FileSystem.S3{} = file_system, attrs) do
|
||||||
FileSystem.S3.change_file_system(file_system, attrs)
|
FileSystem.S3.change_file_system(file_system, attrs)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,9 @@ defmodule LivebookWeb.Hub.FileSystemFormComponent do
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_event("save", %{"file_system" => attrs}, socket) do
|
def handle_event("save", %{"file_system" => attrs}, socket) do
|
||||||
with {:ok, file_system} <- FileSystems.update_file_system(socket.assigns.file_system, attrs),
|
changeset = FileSystems.change_file_system(socket.assigns.file_system, attrs)
|
||||||
|
|
||||||
|
with {:ok, file_system} <- Ecto.Changeset.apply_action(changeset, :update),
|
||||||
:ok <- check_file_system_connectivity(file_system),
|
:ok <- check_file_system_connectivity(file_system),
|
||||||
:ok <- save_file_system(file_system, socket) do
|
:ok <- save_file_system(file_system, socket) do
|
||||||
message =
|
message =
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue