1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Repo.Migrations.TransparencyExclusionsStringToTuple do
12 ConfigDB.get_by_params(%{group: :pleroma, key: :mrf})
13 |> update_transparency_exclusions_instances_to_tuples
17 ConfigDB.get_by_params(%{group: :pleroma, key: :mrf})
18 |> update_transparency_exclusions_instances_to_strings
20 defp update_transparency_exclusions_instances_to_tuples(%{value: settings}) do
21 settings |> List.keyfind(:transparency_exclusions, 0) |> update_to_tuples
24 defp update_transparency_exclusions_instances_to_tuples(nil), do: {:ok, nil}
26 defp update_to_tuples({:transparency_exclusions, instance_list}) do
34 ConfigDB.update_or_create(%{
37 value: [transparency_exclusions: new_value]
41 defp update_to_tuples(nil), do: {:ok, nil}
43 defp update_transparency_exclusions_instances_to_strings(%{value: settings}) do
44 settings |> List.keyfind(:transparency_exclusions, 0) |> update_to_strings
47 defp update_transparency_exclusions_instances_to_strings(nil), do: {:ok, nil}
49 defp update_to_strings({:transparency_exclusions, instance_list}) do
57 ConfigDB.update_or_create(%{
60 value: [transparency_exclusions: new_value]
64 defp update_to_strings(nil), do: {:ok, nil}