From 613e096389d6945016e78499505c3ec5786d0ab0 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 16 Jul 2020 16:35:03 -0500 Subject: Migrate :auto_linker --> Pleroma.Formatter in ConfigDB --- .../20200716195806_autolinker_to_linkify.exs | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 priv/repo/migrations/20200716195806_autolinker_to_linkify.exs (limited to 'priv') diff --git a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs new file mode 100644 index 000000000..9ec4203eb --- /dev/null +++ b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs @@ -0,0 +1,37 @@ +defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do + use Ecto.Migration + + alias Pleroma.Repo + alias Pleroma.ConfigDB + + @autolinker_path %{group: :auto_linker, key: :opts} + @linkify_path %{group: :pleroma, key: Pleroma.Formatter} + + @compat_opts [:class, :rel, :new_window, :truncate, :strip_prefix, :extra] + + def change do + with {:ok, {old, new}} <- maybe_get_params() do + move_config(old, new) + end + end + + defp move_config(%{} = old, %{} = new) do + {:ok, _} = ConfigDB.update_or_create(new) + {:ok, _} = ConfigDB.delete(old) + :ok + end + + defp maybe_get_params() do + with %ConfigDB{value: opts} <- ConfigDB.get_by_params(@autolinker_path), + %{} = opts <- transform_opts(opts), + %{} = linkify_params <- Map.put(@linkify_path, :value, opts) do + {:ok, {@autolinker_path, linkify_params}} + end + end + + defp transform_opts(opts) when is_list(opts) do + opts + |> Enum.into(%{}) + |> Map.take(@compat_opts) + end +end -- cgit v1.2.3 From 696c13ce54aff25737f8f753a94747d79b9c54b0 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 21 Jul 2020 22:17:34 +0000 Subject: Revert "Merge branch 'linkify' into 'develop'" This reverts merge request !2677 --- .../20200716195806_autolinker_to_linkify.exs | 37 ---------------------- 1 file changed, 37 deletions(-) delete mode 100644 priv/repo/migrations/20200716195806_autolinker_to_linkify.exs (limited to 'priv') diff --git a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs deleted file mode 100644 index 9ec4203eb..000000000 --- a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs +++ /dev/null @@ -1,37 +0,0 @@ -defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do - use Ecto.Migration - - alias Pleroma.Repo - alias Pleroma.ConfigDB - - @autolinker_path %{group: :auto_linker, key: :opts} - @linkify_path %{group: :pleroma, key: Pleroma.Formatter} - - @compat_opts [:class, :rel, :new_window, :truncate, :strip_prefix, :extra] - - def change do - with {:ok, {old, new}} <- maybe_get_params() do - move_config(old, new) - end - end - - defp move_config(%{} = old, %{} = new) do - {:ok, _} = ConfigDB.update_or_create(new) - {:ok, _} = ConfigDB.delete(old) - :ok - end - - defp maybe_get_params() do - with %ConfigDB{value: opts} <- ConfigDB.get_by_params(@autolinker_path), - %{} = opts <- transform_opts(opts), - %{} = linkify_params <- Map.put(@linkify_path, :value, opts) do - {:ok, {@autolinker_path, linkify_params}} - end - end - - defp transform_opts(opts) when is_list(opts) do - opts - |> Enum.into(%{}) - |> Map.take(@compat_opts) - end -end -- cgit v1.2.3 From 5b1eeb06d81872696fac89dba457fe62b62d6182 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 21 Jul 2020 22:18:17 +0000 Subject: Revert "Merge branch 'revert-2b5d9eb1' into 'develop'" This reverts merge request !2784 --- .../20200716195806_autolinker_to_linkify.exs | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 priv/repo/migrations/20200716195806_autolinker_to_linkify.exs (limited to 'priv') diff --git a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs new file mode 100644 index 000000000..9ec4203eb --- /dev/null +++ b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs @@ -0,0 +1,37 @@ +defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do + use Ecto.Migration + + alias Pleroma.Repo + alias Pleroma.ConfigDB + + @autolinker_path %{group: :auto_linker, key: :opts} + @linkify_path %{group: :pleroma, key: Pleroma.Formatter} + + @compat_opts [:class, :rel, :new_window, :truncate, :strip_prefix, :extra] + + def change do + with {:ok, {old, new}} <- maybe_get_params() do + move_config(old, new) + end + end + + defp move_config(%{} = old, %{} = new) do + {:ok, _} = ConfigDB.update_or_create(new) + {:ok, _} = ConfigDB.delete(old) + :ok + end + + defp maybe_get_params() do + with %ConfigDB{value: opts} <- ConfigDB.get_by_params(@autolinker_path), + %{} = opts <- transform_opts(opts), + %{} = linkify_params <- Map.put(@linkify_path, :value, opts) do + {:ok, {@autolinker_path, linkify_params}} + end + end + + defp transform_opts(opts) when is_list(opts) do + opts + |> Enum.into(%{}) + |> Map.take(@compat_opts) + end +end -- cgit v1.2.3 From 7045db5a506aa672d141dc33cfadd53208b4d067 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 22 Jul 2020 11:27:52 -0500 Subject: Fix linkify ConfigDB migration --- priv/repo/migrations/20200716195806_autolinker_to_linkify.exs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'priv') diff --git a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs index 9ec4203eb..782a3cc55 100644 --- a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs +++ b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs @@ -23,7 +23,7 @@ defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do defp maybe_get_params() do with %ConfigDB{value: opts} <- ConfigDB.get_by_params(@autolinker_path), - %{} = opts <- transform_opts(opts), + opts <- transform_opts(opts), %{} = linkify_params <- Map.put(@linkify_path, :value, opts) do {:ok, {@autolinker_path, linkify_params}} end @@ -33,5 +33,6 @@ defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do opts |> Enum.into(%{}) |> Map.take(@compat_opts) + |> Map.to_list() end end -- cgit v1.2.3 From 67389b77af7c6f9ccd18ec385b6ef4fd102e3eb6 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 22 Jul 2020 13:10:10 -0500 Subject: Add AutolinkerToLinkify migration test --- priv/repo/migrations/20200716195806_autolinker_to_linkify.exs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'priv') diff --git a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs index 782a3cc55..570acba84 100644 --- a/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs +++ b/priv/repo/migrations/20200716195806_autolinker_to_linkify.exs @@ -1,7 +1,5 @@ defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do use Ecto.Migration - - alias Pleroma.Repo alias Pleroma.ConfigDB @autolinker_path %{group: :auto_linker, key: :opts} @@ -29,7 +27,7 @@ defmodule Pleroma.Repo.Migrations.AutolinkerToLinkify do end end - defp transform_opts(opts) when is_list(opts) do + def transform_opts(opts) when is_list(opts) do opts |> Enum.into(%{}) |> Map.take(@compat_opts) -- cgit v1.2.3 From c7a0016f9f4731c58a7989c7ee10e19d3f90d2eb Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 22 Jul 2020 14:18:09 -0500 Subject: Migration to fix malformed Pleroma.Formatter config --- ...200722185515_fix_malformed_formatter_config.exs | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 priv/repo/migrations/20200722185515_fix_malformed_formatter_config.exs (limited to 'priv') diff --git a/priv/repo/migrations/20200722185515_fix_malformed_formatter_config.exs b/priv/repo/migrations/20200722185515_fix_malformed_formatter_config.exs new file mode 100644 index 000000000..77b760825 --- /dev/null +++ b/priv/repo/migrations/20200722185515_fix_malformed_formatter_config.exs @@ -0,0 +1,26 @@ +defmodule Pleroma.Repo.Migrations.FixMalformedFormatterConfig do + use Ecto.Migration + alias Pleroma.ConfigDB + + @config_path %{group: :pleroma, key: Pleroma.Formatter} + + def change do + with %ConfigDB{value: %{} = opts} <- ConfigDB.get_by_params(@config_path), + fixed_opts <- Map.to_list(opts) do + fix_config(fixed_opts) + else + _ -> :skipped + end + end + + defp fix_config(fixed_opts) when is_list(fixed_opts) do + {:ok, _} = + ConfigDB.update_or_create(%{ + group: :pleroma, + key: Pleroma.Formatter, + value: fixed_opts + }) + + :ok + end +end -- cgit v1.2.3