Remove FrontendInstallerWorker
This commit is contained in:
parent
08cbd655d1
commit
435bf1f945
4 changed files with 1 additions and 47 deletions
|
@ -563,9 +563,7 @@ config :pleroma, Oban,
|
||||||
remote_fetcher: 2,
|
remote_fetcher: 2,
|
||||||
attachments_cleanup: 5,
|
attachments_cleanup: 5,
|
||||||
new_users_digest: 1,
|
new_users_digest: 1,
|
||||||
frontend_installer: 1,
|
|
||||||
mute_expire: 5
|
mute_expire: 5
|
||||||
|
|
||||||
],
|
],
|
||||||
plugins: [Oban.Plugins.Pruner],
|
plugins: [Oban.Plugins.Pruner],
|
||||||
crontab: [
|
crontab: [
|
||||||
|
|
|
@ -7,7 +7,6 @@ defmodule Pleroma.Web.AdminAPI.FrontendController do
|
||||||
|
|
||||||
alias Pleroma.Config
|
alias Pleroma.Config
|
||||||
alias Pleroma.Web.Plugs.OAuthScopesPlug
|
alias Pleroma.Web.Plugs.OAuthScopesPlug
|
||||||
alias Pleroma.Workers.FrontendInstallerWorker
|
|
||||||
|
|
||||||
plug(Pleroma.Web.ApiSpec.CastAndValidate)
|
plug(Pleroma.Web.ApiSpec.CastAndValidate)
|
||||||
plug(OAuthScopesPlug, %{scopes: ["write"], admin: true} when action == :install)
|
plug(OAuthScopesPlug, %{scopes: ["write"], admin: true} when action == :install)
|
||||||
|
@ -30,7 +29,7 @@ defmodule Pleroma.Web.AdminAPI.FrontendController do
|
||||||
end
|
end
|
||||||
|
|
||||||
def install(%{body_params: params} = conn, _params) do
|
def install(%{body_params: params} = conn, _params) do
|
||||||
FrontendInstallerWorker.install(params.name, Map.delete(params, :name))
|
Pleroma.Frontend.install(params.name, Map.delete(params, :name))
|
||||||
|
|
||||||
index(conn, %{})
|
index(conn, %{})
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
# Pleroma: A lightweight social networking server
|
|
||||||
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
defmodule Pleroma.Workers.FrontendInstallerWorker do
|
|
||||||
use Oban.Worker, queue: :frontend_installer, max_attempts: 1
|
|
||||||
|
|
||||||
alias Oban.Job
|
|
||||||
alias Pleroma.Frontend
|
|
||||||
|
|
||||||
def install(name, opts \\ []) do
|
|
||||||
%{"name" => name, "opts" => Map.new(opts)}
|
|
||||||
|> new()
|
|
||||||
|> Oban.insert()
|
|
||||||
end
|
|
||||||
|
|
||||||
def perform(%Job{args: %{"name" => name, "opts" => opts}}) do
|
|
||||||
opts = Keyword.new(opts, fn {key, value} -> {String.to_existing_atom(key), value} end)
|
|
||||||
Frontend.install(name, opts)
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -4,13 +4,10 @@
|
||||||
|
|
||||||
defmodule Pleroma.Web.AdminAPI.FrontendControllerTest do
|
defmodule Pleroma.Web.AdminAPI.FrontendControllerTest do
|
||||||
use Pleroma.Web.ConnCase
|
use Pleroma.Web.ConnCase
|
||||||
use Oban.Testing, repo: Pleroma.Repo
|
|
||||||
|
|
||||||
import Pleroma.Factory
|
import Pleroma.Factory
|
||||||
|
|
||||||
alias Pleroma.Config
|
alias Pleroma.Config
|
||||||
alias Pleroma.Tests.ObanHelpers
|
|
||||||
alias Pleroma.Workers.FrontendInstallerWorker
|
|
||||||
|
|
||||||
@dir "test/frontend_static_test"
|
@dir "test/frontend_static_test"
|
||||||
|
|
||||||
|
@ -66,13 +63,6 @@ defmodule Pleroma.Web.AdminAPI.FrontendControllerTest do
|
||||||
|> post("/api/pleroma/admin/frontends", %{name: "pleroma"})
|
|> post("/api/pleroma/admin/frontends", %{name: "pleroma"})
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|
|
||||||
assert_enqueued(
|
|
||||||
worker: FrontendInstallerWorker,
|
|
||||||
args: %{"name" => "pleroma", "opts" => %{}}
|
|
||||||
)
|
|
||||||
|
|
||||||
ObanHelpers.perform(all_enqueued(worker: FrontendInstallerWorker))
|
|
||||||
|
|
||||||
assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"]))
|
assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"]))
|
||||||
|
|
||||||
response =
|
response =
|
||||||
|
@ -108,16 +98,6 @@ defmodule Pleroma.Web.AdminAPI.FrontendControllerTest do
|
||||||
})
|
})
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|
|
||||||
assert_enqueued(
|
|
||||||
worker: FrontendInstallerWorker,
|
|
||||||
args: %{
|
|
||||||
"name" => "pleroma",
|
|
||||||
"opts" => %{"file" => "test/fixtures/tesla_mock/frontend.zip"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
ObanHelpers.perform(all_enqueued(worker: FrontendInstallerWorker))
|
|
||||||
|
|
||||||
assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"]))
|
assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"]))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -136,8 +116,6 @@ defmodule Pleroma.Web.AdminAPI.FrontendControllerTest do
|
||||||
})
|
})
|
||||||
|> json_response_and_validate_schema(:ok)
|
|> json_response_and_validate_schema(:ok)
|
||||||
|
|
||||||
ObanHelpers.perform(all_enqueued(worker: FrontendInstallerWorker))
|
|
||||||
|
|
||||||
assert File.exists?(Path.join([@dir, "frontends", "unknown", "baka", "test.txt"]))
|
assert File.exists?(Path.join([@dir, "frontends", "unknown", "baka", "test.txt"]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue