aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-06-07 17:51:47 +0200
committerlain <lain@soykaf.club>2019-06-07 17:51:47 +0200
commit970f71e222136a3c01a38ffe6c1c44704828434b (patch)
tree690b2ceb9afe624011fa169618538905d54bb9da
parentd5330ed12561377e5c464bcc2774ebc692b9ac07 (diff)
downloadpleroma-970f71e222136a3c01a38ffe6c1c44704828434b.tar.gz
Conversations: Fetch users in one query.
-rw-r--r--lib/pleroma/conversation/participation.ex4
-rw-r--r--test/conversation/participation_test.exs3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex
index 2c13c4b40..5883e4183 100644
--- 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
index 0e60bfca5..2a03e5d67 100644
--- 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})