aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2019-03-23 02:19:34 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2019-03-23 02:28:57 +0000
commit9a06d9f6e87c948997b908456ff8838e6110757e (patch)
treec2f007966f5cea3acde3a0787685f5c7c61875cd /lib
parent4cedf454236c73b9337e58f5bf0e20ae65c65313 (diff)
downloadpleroma-9a06d9f6e87c948997b908456ff8838e6110757e.tar.gz
notification: preload child objects
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/notification.ex6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex
index a98649b63..ef8e0b4c1 100644
--- a/lib/pleroma/notification.ex
+++ b/lib/pleroma/notification.ex
@@ -7,6 +7,7 @@ defmodule Pleroma.Notification do
alias Pleroma.Activity
alias Pleroma.Notification
+ alias Pleroma.Object
alias Pleroma.Pagination
alias Pleroma.Repo
alias Pleroma.User
@@ -33,7 +34,10 @@ defmodule Pleroma.Notification do
Notification
|> where(user_id: ^user.id)
|> join(:inner, [n], activity in assoc(n, :activity))
- |> preload(:activity)
+ |> join(:left, [n, a], object in Object,
+ on: fragment("(?->>'id') = COALESCE((? -> 'object'::text) ->> 'id'::text)", object.data, a.data)
+ )
+ |> preload([n, a, o], activity: {a, object: o})
end
def for_user(user, opts \\ %{}) do