diff options
author | lain <lain@soykaf.club> | 2019-06-07 17:51:47 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-06-07 17:51:47 +0200 |
commit | 970f71e222136a3c01a38ffe6c1c44704828434b (patch) | |
tree | 690b2ceb9afe624011fa169618538905d54bb9da | |
parent | d5330ed12561377e5c464bcc2774ebc692b9ac07 (diff) | |
download | pleroma-970f71e222136a3c01a38ffe6c1c44704828434b.tar.gz |
Conversations: Fetch users in one query.
-rw-r--r-- | lib/pleroma/conversation/participation.ex | 4 | ||||
-rw-r--r-- | test/conversation/participation_test.exs | 3 |
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}) |