logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: cc5686bbd6f8a5fbf345de2f54a9e07ec7ff2b5c
parent d0d48a9e8832ed81e67126a2af019981cb761a2b
Author: Ilja <ilja@ilja.space>
Date:   Sun, 20 Feb 2022 15:44:40 +0100

Migration for exiftool filter

Rename to Exiftool.StripLocation

Diffstat:

Apriv/repo/migrations/20220220135625_upload_filter_exiftool_to_exiftool_strip_location.exs34++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+), 0 deletions(-)

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 @@ -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