Remove FrontendInstallerWorker
This commit is contained in:
		
							parent
							
								
									08cbd655d1
								
							
						
					
					
						commit
						435bf1f945
					
				
					 4 changed files with 1 additions and 47 deletions
				
			
		| 
						 | 
				
			
			@ -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 a new issue