From 61ad2ce4221b86f77977d82c448d0eddb8add5aa Mon Sep 17 00:00:00 2001
From: eal <eal@waifu.club>
Date: Fri, 14 Dec 2018 08:24:18 +0200
Subject: [PATCH] TwitterAPI: Include favorited post in json

---
 lib/pleroma/web/twitter_api/views/activity_view.ex | 6 ++++++
 test/web/twitter_api/views/activity_view_test.exs  | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/lib/pleroma/web/twitter_api/views/activity_view.ex b/lib/pleroma/web/twitter_api/views/activity_view.ex
index 83e8fb765..e5caed28f 100644
--- a/lib/pleroma/web/twitter_api/views/activity_view.ex
+++ b/lib/pleroma/web/twitter_api/views/activity_view.ex
@@ -190,6 +190,11 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do
 
     text = "#{user.nickname} favorited a status."
 
+    favorited_status =
+      if liked_activity,
+        do: render("activity.json", Map.merge(opts, %{activity: liked_activity})),
+        else: nil
+
     %{
       "id" => activity.id,
       "user" => UserView.render("show.json", %{user: user, for: opts[:for]}),
@@ -199,6 +204,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do
       "is_post_verb" => false,
       "uri" => "tag:#{activity.data["id"]}:objectType=Favourite",
       "created_at" => created_at,
+      "favorited_status" => favorited_status,
       "in_reply_to_status_id" => liked_activity_id,
       "external_url" => activity.data["id"],
       "activity_type" => "like"
diff --git a/test/web/twitter_api/views/activity_view_test.exs b/test/web/twitter_api/views/activity_view_test.exs
index bc36b0e90..77b8d99e7 100644
--- a/test/web/twitter_api/views/activity_view_test.exs
+++ b/test/web/twitter_api/views/activity_view_test.exs
@@ -112,6 +112,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
     {:ok, like, _object} = CommonAPI.favorite(activity.id, other_user)
 
     result = ActivityView.render("activity.json", activity: like)
+    activity = Pleroma.Activity.get_by_ap_id(activity.data["id"])
 
     expected = %{
       "activity_type" => "like",
@@ -121,6 +122,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
       "in_reply_to_status_id" => activity.id,
       "is_local" => true,
       "is_post_verb" => false,
+      "favorited_status" => ActivityView.render("activity.json", activity: activity),
       "statusnet_html" => "shp favorited a status.",
       "text" => "shp favorited a status.",
       "uri" => "tag:#{like.data["id"]}:objectType=Favourite",
@@ -148,6 +150,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
       "in_reply_to_status_id" => nil,
       "is_local" => true,
       "is_post_verb" => false,
+      "favorited_status" => nil,
       "statusnet_html" => "shp favorited a status.",
       "text" => "shp favorited a status.",
       "uri" => "tag:#{like.data["id"]}:objectType=Favourite",