Remove FrontendInstallerWorker
This commit is contained in:
parent
08cbd655d1
commit
435bf1f945
|
@ -563,9 +563,7 @@
|
|||
remote_fetcher: 2,
|
||||
attachments_cleanup: 5,
|
||||
new_users_digest: 1,
|
||||
frontend_installer: 1,
|
||||
mute_expire: 5
|
||||
|
||||
],
|
||||
plugins: [Oban.Plugins.Pruner],
|
||||
crontab: [
|
||||
|
|
|
@ -7,7 +7,6 @@ defmodule Pleroma.Web.AdminAPI.FrontendController do
|
|||
|
||||
alias Pleroma.Config
|
||||
alias Pleroma.Web.Plugs.OAuthScopesPlug
|
||||
alias Pleroma.Workers.FrontendInstallerWorker
|
||||
|
||||
plug(Pleroma.Web.ApiSpec.CastAndValidate)
|
||||
plug(OAuthScopesPlug, %{scopes: ["write"], admin: true} when action == :install)
|
||||
|
@ -30,7 +29,7 @@ def index(conn, _params) do
|
|||
end
|
||||
|
||||
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, %{})
|
||||
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
|
||||
use Pleroma.Web.ConnCase
|
||||
use Oban.Testing, repo: Pleroma.Repo
|
||||
|
||||
import Pleroma.Factory
|
||||
|
||||
alias Pleroma.Config
|
||||
alias Pleroma.Tests.ObanHelpers
|
||||
alias Pleroma.Workers.FrontendInstallerWorker
|
||||
|
||||
@dir "test/frontend_static_test"
|
||||
|
||||
|
@ -66,13 +63,6 @@ test "from available frontends", %{conn: conn} do
|
|||
|> post("/api/pleroma/admin/frontends", %{name: "pleroma"})
|
||||
|> 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"]))
|
||||
|
||||
response =
|
||||
|
@ -108,16 +98,6 @@ test "from a file", %{conn: conn} do
|
|||
})
|
||||
|> 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"]))
|
||||
end
|
||||
|
||||
|
@ -136,8 +116,6 @@ test "from an URL", %{conn: conn} do
|
|||
})
|
||||
|> json_response_and_validate_schema(:ok)
|
||||
|
||||
ObanHelpers.perform(all_enqueued(worker: FrontendInstallerWorker))
|
||||
|
||||
assert File.exists?(Path.join([@dir, "frontends", "unknown", "baka", "test.txt"]))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue