defmodule Pleroma.Web.MastodonAPI.StatusView do
use Pleroma.Web, :view
alias Pleroma.Web.MastodonAPI.{AccountView, StatusView}
- alias Pleroma.User
+ alias Pleroma.{User, Activity}
def render("index.json", opts) do
render_many(opts.activities, StatusView, "status.json", opts)
|> NaiveDateTime.to_iso8601
|> String.replace(~r/(\.\d+)?$/, ".000Z", global: false)
+ # TODO: Add cached version.
+ reply_to = Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
+ reply_to_user = reply_to && User.get_cached_by_ap_id(reply_to.data["actor"])
+
%{
id: activity.id,
uri: object["id"],
url: object["external_url"],
account: AccountView.render("account.json", %{user: user}),
- in_reply_to_id: object["inReplyToStatusId"],
- in_reply_to_account_id: nil,
+ in_reply_to_id: reply_to && reply_to.id,
+ in_reply_to_account_id: reply_to_user && reply_to_user.id,
reblog: nil,
content: HtmlSanitizeEx.basic_html(object["content"]),
created_at: created_at,