Make the --force flag for reset command consistent with the others and deduplicate...
authorMark Felder <feld@FreeBSD.org>
Wed, 2 Dec 2020 22:34:23 +0000 (16:34 -0600)
committerMark Felder <feld@FreeBSD.org>
Wed, 2 Dec 2020 22:34:23 +0000 (16:34 -0600)
lib/mix/tasks/pleroma/config.ex

index 014782c3514a9acebce897aa933130f7dab07c09..ebaf2c623841d135660789ec68a4dcafcb2828d2 100644 (file)
@@ -95,7 +95,15 @@ defmodule Mix.Tasks.Pleroma.Config do
     end)
   end
 
-  def run(["reset" | options]) do
+  def run(["reset", "--force"]) do
+    check_configdb(fn ->
+      start_pleroma()
+      truncatedb()
+      shell_info("The ConfigDB settings have been removed from the database.")
+    end)
+  end
+
+  def run(["reset"]) do
     check_configdb(fn ->
       start_pleroma()
 
@@ -108,13 +116,8 @@ defmodule Mix.Tasks.Pleroma.Config do
 
       shell_error("\nTHIS CANNOT BE UNDONE!")
 
-      proceed? =
-        "--force" in options or
-          shell_prompt("Are you sure you want to continue?", "n") in ~w(Yn Y y)
-
-      if proceed? do
-        Ecto.Adapters.SQL.query!(Repo, "TRUNCATE config;")
-        Ecto.Adapters.SQL.query!(Repo, "ALTER SEQUENCE config_id_seq RESTART;")
+      if shell_prompt("Are you sure you want to continue?", "n") in ~w(Yn Y y) do
+        truncatedb()
 
         shell_info("The ConfigDB settings have been removed from the database.")
       else
@@ -189,8 +192,7 @@ defmodule Mix.Tasks.Pleroma.Config do
   defp do_migrate_to_db(config_file) do
     if File.exists?(config_file) do
       shell_info("Migrating settings from file: #{Path.expand(config_file)}")
-      Ecto.Adapters.SQL.query!(Repo, "TRUNCATE config;")
-      Ecto.Adapters.SQL.query!(Repo, "ALTER SEQUENCE config_id_seq RESTART;")
+      truncatedb()
 
       custom_config =
         config_file
@@ -376,4 +378,9 @@ defmodule Mix.Tasks.Pleroma.Config do
       end
     end)
   end
+
+  defp truncatedb() do
+    Ecto.Adapters.SQL.query!(Repo, "TRUNCATE config;")
+    Ecto.Adapters.SQL.query!(Repo, "ALTER SEQUENCE config_id_seq RESTART;")
+  end
 end