logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

20220220135625_upload_filter_exiftool_to_exiftool_strip_location.exs (1002B)


  1. defmodule Pleroma.Repo.Migrations.UploadFilterExiftoolToExiftoolStripLocation do
  2. use Ecto.Migration
  3. alias Pleroma.ConfigDB
  4. def up,
  5. do:
  6. ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Upload})
  7. |> update_filtername(
  8. Pleroma.Upload.Filter.Exiftool,
  9. Pleroma.Upload.Filter.Exiftool.StripLocation
  10. )
  11. def down,
  12. do:
  13. ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Upload})
  14. |> update_filtername(
  15. Pleroma.Upload.Filter.Exiftool.StripLocation,
  16. Pleroma.Upload.Filter.Exiftool
  17. )
  18. defp update_filtername(%{value: value}, from_filtername, to_filtername) do
  19. new_value =
  20. value
  21. |> Keyword.update(:filters, [], fn filters ->
  22. filters
  23. |> Enum.map(fn
  24. ^from_filtername -> to_filtername
  25. filter -> filter
  26. end)
  27. end)
  28. ConfigDB.update_or_create(%{group: :pleroma, key: Pleroma.Upload, value: new_value})
  29. end
  30. defp update_filtername(_, _, _), do: nil
  31. end