From 5e7e56e305724121901d4932c42a88de17fa48fb Mon Sep 17 00:00:00 2001 From: Sam Therapy Date: Sat, 19 Mar 2022 18:09:22 +0100 Subject: [PATCH] Add a react to like MRF Signed-off-by: Sam Therapy --- .../activity_pub/mrf/change_react_to_like.ex | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lib/pleroma/web/activity_pub/mrf/change_react_to_like.ex diff --git a/lib/pleroma/web/activity_pub/mrf/change_react_to_like.ex b/lib/pleroma/web/activity_pub/mrf/change_react_to_like.ex new file mode 100644 index 000000000..922ebfd67 --- /dev/null +++ b/lib/pleroma/web/activity_pub/mrf/change_react_to_like.ex @@ -0,0 +1,36 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2022 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.MRF.ChangeReactstoLikes do + require Logger + + @moduledoc "Changes specified EmojiReacts into a Like" + @behaviour Pleroma.Web.ActivityPub.MRF.Policy + + @impl true + @spec filter(any) :: {:ok, any} + def filter(%{"type" => "EmojiReact"} = object) do + Logger.warn("#{inspect(object)}") + test = object["content"] + + # TODO: make this pull from config + if test in ["👍", "❤️", "😆", "😮", "😢", "😩", "😭", "⭐"] do + Logger.warn("MRF.ChangeReactstoLikes: Changing #{inspect(test)} to a Favourite") + + object = + object + |> Map.put("type", "Like") + + {:ok, object} + else + {:ok, object} + end + end + + @impl true + def filter(object), do: {:ok, object} + + @impl true + def describe, do: {:ok, %{}} +end