removing migrate_from_db endpoint from admin api
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Wed, 5 Feb 2020 17:36:21 +0000 (20:36 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Wed, 5 Feb 2020 17:36:21 +0000 (20:36 +0300)
CHANGELOG.md
docs/API/admin_api.md
lib/pleroma/web/admin_api/admin_api_controller.ex
lib/pleroma/web/router.ex
test/web/admin_api/admin_api_controller_test.exs

index 713ae436177d8af517668805cf43438752525525..b146ace46400a62d43acec12cae2641215842340 100644 (file)
@@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - **Breaking**: OStatus protocol support
 - **Breaking**: MDII uploader
 - **Breaking**: Using third party engines for user recommendation
+- **Breaking**: AdminAPI: migrate_from_db endpoint.
 
 ### Changed
 - **Breaking:** Pleroma won't start if it detects unapplied migrations
index 2c0c5f46b8f0bad465f3179b7810b14e1e470f04..e445583cbf3aa12a09dedd3293d8c6c537c0e2d2 100644 (file)
@@ -678,21 +678,6 @@ Note: Available `:permission_group` is currently moderator and admin. 404 is ret
 {}
 ```
 
-## `GET /api/pleroma/admin/config/migrate_from_db`
-
-### Run mix task pleroma.config migrate_from_db
-
-Copies all settings from database to `config/{env}.exported_from_db.secret.exs` with deletion from the table. Where `{env}` is the environment in which `pleroma` is running.
-
-- Params: none
-- Response:
-  - On failure:
-    - 400 Bad Request `"To use this endpoint you need to enable configuration from database."`
-
-```json
-{}
-```
-
 ## `GET /api/pleroma/admin/config`
 
 ### Get list of merged default settings with saved in database.
index 6f04494184e381224aa8d2a230f3a40e66869c3e..293f1befc39d7c85cb9ff77386fff6919b18cf8d 100644 (file)
@@ -97,7 +97,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
   plug(
     OAuthScopesPlug,
     %{scopes: ["read"], admin: true}
-    when action in [:config_show, :migrate_from_db, :list_log]
+    when action in [:config_show, :list_log]
   )
 
   plug(
@@ -793,19 +793,6 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
     |> Plug.Conn.send_resp(200, @descriptions_json)
   end
 
-  def migrate_from_db(conn, _params) do
-    with :ok <- configurable_from_database(conn) do
-      Mix.Tasks.Pleroma.Config.run([
-        "migrate_from_db",
-        "--env",
-        to_string(Pleroma.Config.get(:env)),
-        "-d"
-      ])
-
-      json(conn, %{})
-    end
-  end
-
   def config_show(conn, %{"only_db" => true}) do
     with :ok <- configurable_from_database(conn) do
       configs = Pleroma.Repo.all(ConfigDB)
index 078bf138c6ff18ac9f923f97d0c1e2765081c915..e86bc3cc3c82882132ff4f0dc47399033493672c 100644 (file)
@@ -196,7 +196,6 @@ defmodule Pleroma.Web.Router do
     get("/config", AdminAPIController, :config_show)
     post("/config", AdminAPIController, :config_update)
     get("/config/descriptions", AdminAPIController, :config_descriptions)
-    get("/config/migrate_from_db", AdminAPIController, :migrate_from_db)
     get("/restart", AdminAPIController, :restart)
 
     get("/moderation_log", AdminAPIController, :list_log)
index 81e346fb8910db71d870a9727683b1f5b7ae75da..87f1366a468abd0eba472bbb3b7f966333548b74 100644 (file)
@@ -2984,50 +2984,6 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
     end
   end
 
-  describe "config mix tasks run" do
-    setup do
-      Mix.shell(Mix.Shell.Quiet)
-
-      on_exit(fn ->
-        Mix.shell(Mix.Shell.IO)
-      end)
-
-      :ok
-    end
-
-    clear_config(:configurable_from_database) do
-      Pleroma.Config.put(:configurable_from_database, true)
-    end
-
-    clear_config([:feed, :post_title]) do
-      Pleroma.Config.put([:feed, :post_title], %{max_length: 100, omission: "…"})
-    end
-
-    test "transfer settings to DB and to file", %{conn: conn} do
-      assert Repo.all(Pleroma.ConfigDB) == []
-      Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs")
-      assert Repo.aggregate(Pleroma.ConfigDB, :count, :id) > 0
-
-      conn = get(conn, "/api/pleroma/admin/config/migrate_from_db")
-
-      assert json_response(conn, 200) == %{}
-      assert Repo.all(Pleroma.ConfigDB) == []
-    end
-
-    test "returns error if configuration from database is off", %{conn: conn} do
-      initial = Pleroma.Config.get(:configurable_from_database)
-      on_exit(fn -> Pleroma.Config.put(:configurable_from_database, initial) end)
-      Pleroma.Config.put(:configurable_from_database, false)
-
-      conn = get(conn, "/api/pleroma/admin/config/migrate_from_db")
-
-      assert json_response(conn, 400) ==
-               "To use this endpoint you need to enable configuration from database."
-
-      assert Repo.all(Pleroma.ConfigDB) == []
-    end
-  end
-
   describe "GET /api/pleroma/admin/restart" do
     clear_config(:configurable_from_database) do
       Pleroma.Config.put(:configurable_from_database, true)