mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-10-25 12:56:13 +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()
|
||||
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 """
|
||||
Returns an `%Ecto.Changeset{}` for tracking file system changes.
|
||||
"""
|
||||
@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
|
||||
FileSystem.S3.change_file_system(file_system, attrs)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -87,7 +87,9 @@ defmodule LivebookWeb.Hub.FileSystemFormComponent do
|
|||
end
|
||||
|
||||
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 <- save_file_system(file_system, socket) do
|
||||
message =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue