aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-04-10 17:05:33 +0200
committerlain <lain@soykaf.club>2019-04-10 17:05:33 +0200
commit20d9b9076051d2dea60919ad85aaf88154629dc4 (patch)
tree8e50310e36a0d039e24db2389fc2597d7f096055 /lib
parent280172f6f6d74872349e3b4e6f1feaa9c95b3900 (diff)
downloadpleroma-20d9b9076051d2dea60919ad85aaf88154629dc4.tar.gz
Participation: Get for a user.
Diffstat (limited to 'lib')
-rw-r--r--lib/conversation.ex4
-rw-r--r--lib/conversation/participation.ex9
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/conversation.ex b/lib/conversation.ex
index 3d53e91b7..6eedc72b6 100644
--- a/lib/conversation.ex
+++ b/lib/conversation.ex
@@ -51,10 +51,10 @@ defmodule Pleroma.Conversation do
ap_id when is_binary(ap_id) <- activity.data["object"]["context"] do
{:ok, conversation} = create_for_ap_id(ap_id)
- local_users = User.get_users_from_set(activity.recipients, true)
+ users = User.get_users_from_set(activity.recipients)
participations =
- Enum.map(local_users, fn user ->
+ Enum.map(users, fn user ->
{:ok, participation} =
Participation.create_for_user_and_conversation(user, conversation)
diff --git a/lib/conversation/participation.ex b/lib/conversation/participation.ex
index a58d0ca0d..23e6409f1 100644
--- a/lib/conversation/participation.ex
+++ b/lib/conversation/participation.ex
@@ -8,6 +8,7 @@ defmodule Pleroma.Conversation.Participation do
alias Pleroma.Conversation
alias Pleroma.Repo
import Ecto.Changeset
+ import Ecto.Query
schema "conversation_participations" do
belongs_to(:user, User, type: Pleroma.FlakeId)
@@ -50,4 +51,12 @@ defmodule Pleroma.Conversation.Participation do
|> read_cng(%{read: false})
|> Repo.update()
end
+
+ def for_user(user, params \\ %{}) do
+ from(p in __MODULE__,
+ where: p.user_id == ^user.id,
+ order_by: [desc: p.updated_at]
+ )
+ |> Pleroma.Pagination.fetch_paginated(params)
+ end
end