aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-02-05 20:36:21 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-02-05 20:36:21 +0300
commit5db6ac8ee405d89943a3669da4ea154ce004860f (patch)
treea991a6549ab24dd8de48f66792511bb2be46025c
parent49e80a15377fe460d7ac644601609700fffea632 (diff)
downloadpleroma-5db6ac8ee405d89943a3669da4ea154ce004860f.tar.gz
removing migrate_from_db endpoint from admin api
-rw-r--r--CHANGELOG.md1
-rw-r--r--docs/API/admin_api.md15
-rw-r--r--lib/pleroma/web/admin_api/admin_api_controller.ex15
-rw-r--r--lib/pleroma/web/router.ex1
-rw-r--r--test/web/admin_api/admin_api_controller_test.exs44
5 files changed, 2 insertions, 74 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 713ae4361..b146ace46 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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
diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md
index 2c0c5f46b..e445583cb 100644
--- a/docs/API/admin_api.md
+++ b/docs/API/admin_api.md
@@ -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.
diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex
index 6f0449418..293f1befc 100644
--- a/lib/pleroma/web/admin_api/admin_api_controller.ex
+++ b/lib/pleroma/web/admin_api/admin_api_controller.ex
@@ -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)
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index 078bf138c..e86bc3cc3 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -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)
diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs
index 81e346fb8..87f1366a4 100644
--- a/test/web/admin_api/admin_api_controller_test.exs
+++ b/test/web/admin_api/admin_api_controller_test.exs
@@ -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)