Merge branch 'stats-daemon' into 'develop'
[akkoma] / lib / pleroma / web / twitter_api / representers / activity_representer.ex
index 321917e838990d1a064ab03853623e1b8171ea8f..1f11bc9ac5ba09a7f027b327ee49ef1f5d712544 100644 (file)
@@ -2,7 +2,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do
   use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter
   alias Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter
   alias Pleroma.{Activity, User}
-  alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView, Utils}
+  alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView}
+  alias Pleroma.Web.CommonAPI.Utils
   alias Pleroma.Formatter
 
   defp user_by_ap_id(user_list, ap_id) do
@@ -96,11 +97,12 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do
     }
   end
 
-  def to_map(%Activity{data: %{"type" => "Delete", "published" => created_at, "object" => deleted_object }} = activity, %{user: user} = opts) do
+  def to_map(%Activity{data: %{"type" => "Delete", "published" => created_at, "object" => _ }} = activity, %{user: user} = opts) do
     created_at = created_at |> Utils.date_to_asctime
 
     %{
-      "id" => activity.data["object"],
+      "id" => activity.id,
+      "uri" => activity.data["object"],
       "user" => UserView.render("show.json", %{user: user, for: opts[:for]}),
       "attentions" => [],
       "statusnet_html" => "deleted notice {{tag",
@@ -133,10 +135,20 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do
     tags = activity.data["object"]["tag"] || []
     possibly_sensitive = Enum.member?(tags, "nsfw")
 
+    summary = activity.data["object"]["summary"]
+    content = if !!summary and summary != "" do
+      "<span>#{activity.data["object"]["summary"]}</span><br />#{content}</span>"
+    else
+      content
+    end
+
+    html = HtmlSanitizeEx.basic_html(content) |> Formatter.emojify(object["emoji"])
+
     %{
       "id" => activity.id,
+      "uri" => activity.data["object"]["id"],
       "user" => UserView.render("show.json", %{user: user, for: opts[:for]}),
-      "statusnet_html" => HtmlSanitizeEx.basic_html(content) |> Formatter.finmojifiy,
+      "statusnet_html" => html,
       "text" => HtmlSanitizeEx.strip_tags(content),
       "is_local" => activity.local,
       "is_post_verb" => true,