commit: f2d72b1fe41088b1dfcc7c6423d9edf317544ab7
parent: 70edcd1386c9776b819c5a940bfe8648f24322aa
Author: kaniini <nenolod@gmail.com>
Date: Tue, 11 Jun 2019 02:37:08 +0000
Merge branch 'preload-changes' into 'develop'
Conversations: Fetch users in one query.
See merge request pleroma/pleroma!1258
Diffstat:
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex
@@ -59,10 +59,10 @@ defmodule Pleroma.Conversation.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
diff --git a/test/conversation/participation_test.exs b/test/conversation/participation_test.exs
@@ -72,8 +72,11 @@ defmodule Pleroma.Conversation.ParticipationTest do
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})