summaryrefslogtreecommitdiff
path: root/priv/repo/migrations
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2020-06-23 16:38:27 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2020-06-23 16:38:27 +0000
commitc7d69e925664ce7125c3938c298d72e94a2a1349 (patch)
tree717028080c5c6a84b0362e67e86aa8a51b2c005b /priv/repo/migrations
parentb7f297f0bd214416f3faded4a6221899b68edabd (diff)
parent9a82de219c264f467b485316570c5425e3fe2f00 (diff)
downloadpleroma-c7d69e925664ce7125c3938c298d72e94a2a1349.tar.gz
pleroma-c7d69e925664ce7125c3938c298d72e94a2a1349.zip
Merge branch 'feature/1631-redesign-mrf-configuration' into 'develop'
Moving mrf settings from instance to separate mrf group Closes #1631 See merge request pleroma/pleroma!2320
Diffstat (limited to 'priv/repo/migrations')
-rw-r--r--priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs39
1 files changed, 39 insertions, 0 deletions
diff --git a/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs b/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs
new file mode 100644
index 000000000..6f6094613
--- /dev/null
+++ b/priv/repo/migrations/20200323122421_mrf_config_move_from_instance_namespace.exs
@@ -0,0 +1,39 @@
+defmodule Pleroma.Repo.Migrations.MrfConfigMoveFromInstanceNamespace do
+ use Ecto.Migration
+
+ alias Pleroma.ConfigDB
+
+ @old_keys [:rewrite_policy, :mrf_transparency, :mrf_transparency_exclusions]
+ def change do
+ config = ConfigDB.get_by_params(%{group: ":pleroma", key: ":instance"})
+
+ if config do
+ old_instance = ConfigDB.from_binary(config.value)
+
+ mrf =
+ old_instance
+ |> Keyword.take(@old_keys)
+ |> Keyword.new(fn
+ {:rewrite_policy, policies} -> {:policies, policies}
+ {:mrf_transparency, transparency} -> {:transparency, transparency}
+ {:mrf_transparency_exclusions, exclusions} -> {:transparency_exclusions, exclusions}
+ end)
+
+ if mrf != [] do
+ {:ok, _} =
+ ConfigDB.create(
+ %{group: ":pleroma", key: ":mrf", value: ConfigDB.to_binary(mrf)},
+ false
+ )
+
+ new_instance = Keyword.drop(old_instance, @old_keys)
+
+ if new_instance != [] do
+ {:ok, _} = ConfigDB.update(config, %{value: ConfigDB.to_binary(new_instance)}, false)
+ else
+ {:ok, _} = ConfigDB.delete(config)
+ end
+ end
+ end
+ end
+end