aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex S <alex.strizhakov@gmail.com>2019-04-22 16:16:19 +0700
committerAlex S <alex.strizhakov@gmail.com>2019-04-25 13:46:40 +0700
commit85953c0836c84550c8f61218d0a5b284c0716d34 (patch)
treeb577ddc85a80de12e03cf78f5353f2d9ddaa927a /lib
parent229ce6abbc1873c35a56450942c8aee0a027b6a8 (diff)
downloadpleroma-85953c0836c84550c8f61218d0a5b284c0716d34.tar.gz
fixes for tests
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex2
-rw-r--r--lib/pleroma/web/mastodon_api/views/status_view.ex11
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index 859cf9524..f5067e17e 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -280,7 +280,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|> ActivityPub.contain_timeline(user)
|> Enum.reverse()
- user = Repo.preload(user, :bookmarks)
+ user = Repo.preload(user, bookmarks: :activity)
conn
|> add_link_headers(:home_timeline, activities)
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index b2ed023dc..57cb9fdcc 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -85,7 +85,12 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
activity_object = Object.normalize(activity)
favorited = opts[:for] && opts[:for].ap_id in (activity_object.data["likes"] || [])
- bookmarked = opts[:for] && activity_object.data["id"] in opts[:for].bookmarks
+
+ bookmarked =
+ opts[:for] && Ecto.assoc_loaded?(opts[:for].bookmarks) &&
+ Enum.any?(opts[:for].bookmarks, fn b ->
+ b.activity_id == activity.id or b.activity.data["object"]["id"] == object
+ end)
mentions =
activity.recipients
@@ -150,7 +155,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
bookmarked =
opts[:for] && Ecto.assoc_loaded?(opts[:for].bookmarks) &&
- Enum.any?(opts[:for].bookmarks, fn b -> b.activity_id == activity.id end)
+ Enum.any?(opts[:for].bookmarks, fn b ->
+ b.activity_id == activity.id
+ end)
attachment_data = object.data["attachment"] || []
attachments = render_many(attachment_data, StatusView, "attachment.json", as: :attachment)