mirror of
https://akkoma.dev/AkkomaGang/akkoma.git
synced 2024-12-25 18:36:21 +00:00
Improve Pleroma.Web.ActivityPub.ActivityPub.maybe_update_cc/3
This commit is contained in:
parent
557f0e33a7
commit
3b71612d3d
|
@ -881,14 +881,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
||||||
|> maybe_update_cc(list_memberships, opts["user"])
|
|> maybe_update_cc(list_memberships, opts["user"])
|
||||||
end
|
end
|
||||||
|
|
||||||
defp maybe_update_cc(activities, [], _), do: activities
|
defp maybe_update_cc(activities, list_memberships, %User{ap_id: user_ap_id})
|
||||||
defp maybe_update_cc(activities, _, nil), do: activities
|
when is_list(list_memberships) and length(list_memberships) > 0 do
|
||||||
|
|
||||||
defp maybe_update_cc(activities, list_memberships, user) do
|
|
||||||
Enum.map(activities, fn
|
Enum.map(activities, fn
|
||||||
%{data: %{"bcc" => bcc}} = activity when is_list(bcc) ->
|
%{data: %{"bcc" => bcc}} = activity when is_list(bcc) and length(bcc) > 0 ->
|
||||||
if Enum.any?(bcc, &(&1 in list_memberships)) do
|
if Enum.any?(bcc, &(&1 in list_memberships)) do
|
||||||
update_in(activity.data["cc"], &[user.ap_id | &1])
|
update_in(activity.data["cc"], &[user_ap_id | &1])
|
||||||
else
|
else
|
||||||
activity
|
activity
|
||||||
end
|
end
|
||||||
|
@ -898,6 +896,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp maybe_update_cc(activities, _, _), do: activities
|
||||||
|
|
||||||
def fetch_activities_bounded(recipients_to, recipients_cc, opts \\ %{}) do
|
def fetch_activities_bounded(recipients_to, recipients_cc, opts \\ %{}) do
|
||||||
fetch_activities_query([], opts)
|
fetch_activities_query([], opts)
|
||||||
|> restrict_to_cc(recipients_to, recipients_cc)
|
|> restrict_to_cc(recipients_to, recipients_cc)
|
||||||
|
|
Loading…
Reference in a new issue