diff options
author | Maxim Filippov <colixer@gmail.com> | 2019-10-15 16:52:41 +0200 |
---|---|---|
committer | Maxim Filippov <colixer@gmail.com> | 2019-10-15 16:52:41 +0200 |
commit | 90d516d42bd3d29e71e364535dd4208f8a54992a (patch) | |
tree | 665c60e58e86a78fc308ab745672f0bb647b796d /lib | |
parent | 3b1bc079af8fb6e467a9114de0d32e2de59a7fab (diff) | |
download | pleroma-90d516d42bd3d29e71e364535dd4208f8a54992a.tar.gz |
Store status data inside flag activity
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 30 |
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 |