Add direct_conversation_id to web push payload

This commit is contained in:
Egor Kislitsyn 2019-11-26 19:53:43 +07:00
commit 80ededc04f
No known key found for this signature in database
GPG key ID: 1B49CB15B71E7805
3 changed files with 20 additions and 9 deletions

View file

@ -303,4 +303,17 @@ defmodule Pleroma.Activity do
end
defdelegate search(user, query, options \\ []), to: Pleroma.Activity.Search
def direct_conversation_id(activity, for_user) do
alias Pleroma.Conversation.Participation
with %{data: %{"context" => context}} when is_binary(context) <- activity,
%Pleroma.Conversation{} = conversation <- Pleroma.Conversation.get_for_ap_id(context),
%Participation{id: participation_id} <-
Participation.for_user_and_conversation(for_user, conversation) do
participation_id
else
_ -> nil
end
end
end