Conversations: Fetch users in one query.
This commit is contained in:
parent
d5330ed125
commit
970f71e222
2 changed files with 5 additions and 2 deletions
|
@ -59,10 +59,10 @@ def mark_as_unread(participation) do
|
|||
def for_user(user, params \\ %{}) do
|
||||
from(p in __MODULE__,
|
||||
where: p.user_id == ^user.id,
|
||||
order_by: [desc: p.updated_at]
|
||||
order_by: [desc: p.updated_at],
|
||||
preload: [conversation: [:users]]
|
||||
)
|
||||
|> Pleroma.Pagination.fetch_paginated(params)
|
||||
|> Repo.preload(conversation: [:users])
|
||||
end
|
||||
|
||||
def for_user_with_last_activity_id(user, params \\ %{}) do
|
||||
|
|
|
@ -72,8 +72,11 @@ test "gets all the participations for a user, ordered by updated at descending"
|
|||
object2 = Pleroma.Object.normalize(activity_two)
|
||||
object3 = Pleroma.Object.normalize(activity_three)
|
||||
|
||||
user = Repo.get(Pleroma.User, user.id)
|
||||
|
||||
assert participation_one.conversation.ap_id == object3.data["context"]
|
||||
assert participation_two.conversation.ap_id == object2.data["context"]
|
||||
assert participation_one.conversation.users == [user]
|
||||
|
||||
# Pagination
|
||||
assert [participation_one] = Participation.for_user(user, %{"limit" => 1})
|
||||
|
|
Loading…
Reference in a new issue