diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-06-23 16:38:27 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-06-23 16:38:27 +0000 |
commit | c7d69e925664ce7125c3938c298d72e94a2a1349 (patch) | |
tree | 717028080c5c6a84b0362e67e86aa8a51b2c005b /priv/repo/migrations | |
parent | b7f297f0bd214416f3faded4a6221899b68edabd (diff) | |
parent | 9a82de219c264f467b485316570c5425e3fe2f00 (diff) | |
download | pleroma-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.exs | 39 |
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 |