aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/activity_pub/utils.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/web/activity_pub/utils.ex')
-rw-r--r--lib/pleroma/web/activity_pub/utils.ex30
1 files changed, 27 insertions, 3 deletions
diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex
index 4ef479f96..57982eb4a 100644
--- a/lib/pleroma/web/activity_pub/utils.ex
+++ b/lib/pleroma/web/activity_pub/utils.ex
@@ -609,9 +609,33 @@ defmodule Pleroma.Web.ActivityPub.Utils do
defp build_flag_object(%{account: account, statuses: statuses} = _) do
[account.ap_id] ++
Enum.map(statuses || [], fn
- %Activity{} = act -> act.data["id"]
- act when is_map(act) -> act["id"]
- act when is_binary(act) -> act
+ %Activity{} = act ->
+ obj = Object.get_by_ap_id(act.data["object"])
+
+ %{
+ "type" => "Note",
+ "id" => act.data["id"],
+ "content" => obj.data["content"]
+ }
+
+ act when is_map(act) ->
+ obj = Object.get_by_ap_id(act["object"])
+
+ %{
+ "type" => "Note",
+ "id" => act["id"],
+ "content" => obj.data["content"]
+ }
+
+ act
+ when is_binary(act) ->
+ activity = Activity.get_by_ap_id_with_object(act)
+
+ %{
+ "type" => "Note",
+ "id" => activity.data["id"],
+ "content" => activity.data["object"]["content"]
+ }
end)
end