diff options
Diffstat (limited to 'lib/pleroma/activity.ex')
-rw-r--r-- | lib/pleroma/activity.ex | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index 553834da0..648cfb623 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -19,6 +19,8 @@ defmodule Pleroma.Activity do import Ecto.Changeset import Ecto.Query + require Pleroma.Constants + @type t :: %__MODULE__{} @type actor :: String.t() @@ -356,4 +358,12 @@ defmodule Pleroma.Activity do actor = user_actor(activity) activity.id in actor.pinned_activities end + + def local_only?(activity) do + recipients = Enum.concat(activity.data["to"], Map.get(activity.data, "cc", [])) + public = Pleroma.Constants.as_public() + local = Pleroma.Constants.as_local_public() + + Enum.member?(recipients, local) and not Enum.member?(recipients, public) + end end |