forked from mirrors/akkoma
notification: preload child objects
This commit is contained in:
parent
4cedf45423
commit
9a06d9f6e8
|
@ -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 @@ def for_user_query(user) 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
|
||||
|
|
Loading…
Reference in a new issue