logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
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:

Mlib/pleroma/conversation/participation.ex4++--
Mtest/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 @@ -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})