diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-12-25 19:57:53 -0600 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-12-25 19:57:53 -0600 |
commit | db2bf55e9bb31af2ed34805ca7fa98ce67b471b1 (patch) | |
tree | f532711eaf19111e22375e87706edf5a3024e5b5 /priv/repo/migrations/20201005123100_simple_policy_string_to_tuple.exs | |
parent | b15c4629ff3093353ac5e37d381db1cdc4da1c3a (diff) | |
parent | 73609211a425922a5068d3912a36b82abe24e12c (diff) | |
download | pleroma-db2bf55e9bb31af2ed34805ca7fa98ce67b471b1.tar.gz pleroma-db2bf55e9bb31af2ed34805ca7fa98ce67b471b1.zip |
Merge remote-tracking branch 'origin/develop' into notice-routes
Diffstat (limited to 'priv/repo/migrations/20201005123100_simple_policy_string_to_tuple.exs')
-rw-r--r-- | priv/repo/migrations/20201005123100_simple_policy_string_to_tuple.exs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/priv/repo/migrations/20201005123100_simple_policy_string_to_tuple.exs b/priv/repo/migrations/20201005123100_simple_policy_string_to_tuple.exs new file mode 100644 index 000000000..77a4a7311 --- /dev/null +++ b/priv/repo/migrations/20201005123100_simple_policy_string_to_tuple.exs @@ -0,0 +1,40 @@ +defmodule Pleroma.Repo.Migrations.SimplePolicyStringToTuple do + use Ecto.Migration + + alias Pleroma.ConfigDB + + def up, do: ConfigDB.get_by_params(%{group: :pleroma, key: :mrf_simple}) |> update_to_tuples + def down, do: ConfigDB.get_by_params(%{group: :pleroma, key: :mrf_simple}) |> update_to_strings + + defp update_to_tuples(%{value: value}) do + new_value = + value + |> Enum.map(fn {k, v} -> + {k, + Enum.map(v, fn + {instance, reason} -> {instance, reason} + instance -> {instance, ""} + end)} + end) + + ConfigDB.update_or_create(%{group: :pleroma, key: :mrf_simple, value: new_value}) + end + + defp update_to_tuples(nil), do: {:ok, nil} + + defp update_to_strings(%{value: value}) do + new_value = + value + |> Enum.map(fn {k, v} -> + {k, + Enum.map(v, fn + {instance, _} -> instance + instance -> instance + end)} + end) + + ConfigDB.update_or_create(%{group: :pleroma, key: :mrf_simple, value: new_value}) + end + + defp update_to_strings(nil), do: {:ok, nil} +end |