Assign reblogged in the Mastodon reblog status view
This commit is contained in:
parent
050339c223
commit
679a8ef629
2 changed files with 44 additions and 7 deletions
|
|
@ -54,6 +54,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
|
||||
defp get_context_id(_), do: nil
|
||||
|
||||
defp reblogged?(activity, user) do
|
||||
object = activity.data["object"] || %{}
|
||||
present?(user && user.ap_id in (object["announcements"] || []))
|
||||
end
|
||||
|
||||
def render("index.json", opts) do
|
||||
replied_to_activities = get_replied_to_activities(opts.activities)
|
||||
|
||||
|
|
@ -72,8 +77,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
user = get_user(activity.data["actor"])
|
||||
created_at = Utils.to_masto_date(activity.data["published"])
|
||||
|
||||
reblogged = Activity.get_create_by_object_ap_id(object)
|
||||
reblogged = render("status.json", Map.put(opts, :activity, reblogged))
|
||||
reblogged_activity = Activity.get_create_by_object_ap_id(object)
|
||||
reblogged = render("status.json", Map.put(opts, :activity, reblogged_activity))
|
||||
|
||||
mentions =
|
||||
activity.recipients
|
||||
|
|
@ -94,7 +99,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
reblogs_count: 0,
|
||||
replies_count: 0,
|
||||
favourites_count: 0,
|
||||
reblogged: false,
|
||||
reblogged: reblogged?(reblogged_activity, opts[:for]),
|
||||
favourited: false,
|
||||
bookmarked: false,
|
||||
muted: false,
|
||||
|
|
@ -132,7 +137,6 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
|> Enum.filter(& &1)
|
||||
|> Enum.map(fn user -> AccountView.render("mention.json", %{user: user}) end)
|
||||
|
||||
repeated = opts[:for] && opts[:for].ap_id in (object["announcements"] || [])
|
||||
favorited = opts[:for] && opts[:for].ap_id in (object["likes"] || [])
|
||||
bookmarked = opts[:for] && object["id"] in opts[:for].bookmarks
|
||||
|
||||
|
|
@ -203,7 +207,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
|
|||
reblogs_count: announcement_count,
|
||||
replies_count: object["repliesCount"] || 0,
|
||||
favourites_count: like_count,
|
||||
reblogged: present?(repeated),
|
||||
reblogged: reblogged?(activity, opts[:for]),
|
||||
favourited: present?(favorited),
|
||||
bookmarked: present?(bookmarked),
|
||||
muted: CommonAPI.thread_muted?(user, activity) || User.mutes?(opts[:for], user),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue