Participation: Get for a user.
This commit is contained in:
parent
280172f6f6
commit
20d9b90760
3 changed files with 41 additions and 2 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue