diff options
author | William Pitcock <nenolod@dereferenced.org> | 2019-03-23 02:19:34 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2019-03-23 02:28:57 +0000 |
commit | 9a06d9f6e87c948997b908456ff8838e6110757e (patch) | |
tree | c2f007966f5cea3acde3a0787685f5c7c61875cd /lib | |
parent | 4cedf454236c73b9337e58f5bf0e20ae65c65313 (diff) | |
download | pleroma-9a06d9f6e87c948997b908456ff8838e6110757e.tar.gz |
notification: preload child objects
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/notification.ex | 6 |
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 |