From cc5686bbd6f8a5fbf345de2f54a9e07ec7ff2b5c Mon Sep 17 00:00:00 2001 From: Ilja Date: Sun, 20 Feb 2022 15:44:40 +0100 Subject: [PATCH] Migration for exiftool filter Rename to Exiftool.StripLocation --- ...er_exiftool_to_exiftool_strip_location.exs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 priv/repo/migrations/20220220135625_upload_filter_exiftool_to_exiftool_strip_location.exs diff --git a/priv/repo/migrations/20220220135625_upload_filter_exiftool_to_exiftool_strip_location.exs b/priv/repo/migrations/20220220135625_upload_filter_exiftool_to_exiftool_strip_location.exs new file mode 100644 index 000000000..7afb7479a --- /dev/null +++ b/priv/repo/migrations/20220220135625_upload_filter_exiftool_to_exiftool_strip_location.exs @@ -0,0 +1,34 @@ +defmodule Pleroma.Repo.Migrations.UploadFilterExiftoolToExiftoolStripLocation do + use Ecto.Migration + + alias Pleroma.ConfigDB + + def up, + do: + ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Upload}) + |> update_filtername( + Pleroma.Upload.Filter.Exiftool, + Pleroma.Upload.Filter.Exiftool.StripLocation + ) + + def down, + do: + ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Upload}) + |> update_filtername( + Pleroma.Upload.Filter.Exiftool.StripLocation, + Pleroma.Upload.Filter.Exiftool + ) + + defp update_filtername(%{value: value}, from_filtername, to_filtername) do + new_filters = + value[:filters] + |> Enum.map(fn + ^from_filtername -> to_filtername + filter -> filter + end) + + new_value = value |> Keyword.update(:filters, [], fn _ -> new_filters end) + + ConfigDB.update_or_create(%{group: :pleroma, key: Pleroma.Upload, value: new_value}) + end +end