aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Filippov <colixer@gmail.com>2019-10-15 16:52:41 +0200
committerMaxim Filippov <colixer@gmail.com>2019-10-15 16:52:41 +0200
commit90d516d42bd3d29e71e364535dd4208f8a54992a (patch)
tree665c60e58e86a78fc308ab745672f0bb647b796d
parent3b1bc079af8fb6e467a9114de0d32e2de59a7fab (diff)
downloadpleroma-90d516d42bd3d29e71e364535dd4208f8a54992a.tar.gz
Store status data inside flag activity
-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