Add support for install via file and build_url params

This commit is contained in:
Egor Kislitsyn 2020-10-29 16:37:50 +04:00
commit d83c2bd330
No known key found for this signature in database
GPG key ID: 1B49CB15B71E7805
4 changed files with 74 additions and 25 deletions

View file

@ -8,16 +8,16 @@ defmodule Pleroma.Frontend do
require Logger
def install(name, opts \\ []) do
cmd_frontend_info = %{
frontend_info = %{
"ref" => opts[:ref],
"build_url" => opts[:build_url],
"build_dir" => opts[:build_dir]
}
config_frontend_info = Config.get([:frontends, :available, name], %{})
frontend_info =
Map.merge(config_frontend_info, cmd_frontend_info, fn _key, config, cmd ->
[:frontends, :available, name]
|> Config.get(%{})
|> Map.merge(frontend_info, fn _key, config, cmd ->
# This only overrides things that are actually set
cmd || config
end)

View file

@ -49,7 +49,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.FrontendOperation do
properties: %{
name: %Schema{type: :string},
git: %Schema{type: :string, format: :uri, nullable: true},
build_url: %Schema{type: :string, format: :uri},
build_url: %Schema{type: :string, format: :uri, nullable: true},
ref: %Schema{type: :string},
installed: %Schema{type: :boolean}
}
@ -64,12 +64,19 @@ defmodule Pleroma.Web.ApiSpec.Admin.FrontendOperation do
required: [:name],
properties: %{
name: %Schema{
type: :string,
nullable: false
type: :string
},
ref: %Schema{
type: :string,
nullable: false
type: :string
},
file: %Schema{
type: :string
},
build_url: %Schema{
type: :string
},
build_dir: %Schema{
type: :string
}
}
}