summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-11-08 19:30:55 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-11-08 19:30:55 +0000
commit0a2c1a3419d6b5aaf078609063d355f3d6ea046a (patch)
tree78a8860cf5245a7aec11a7d4e22d505493a2d5b2
parent719a8a1f826972a43b80f100d3cbe65e75891366 (diff)
downloadpleroma-0a2c1a3419d6b5aaf078609063d355f3d6ea046a.tar.gz
pleroma-0a2c1a3419d6b5aaf078609063d355f3d6ea046a.zip
user: add optional local_only param to get_notified_from_activity()
-rw-r--r--lib/pleroma/user.ex24
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 0d11101a3..acb355a05 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -464,15 +464,25 @@ defmodule Pleroma.User do
update_and_set_cache(cs)
end
- def get_notified_from_activity_query(to) do
+ def get_notified_from_activity_query(to, false) do
from(
u in User,
- where: u.ap_id in ^to,
+ where: u.ap_id in ^to
+ )
+ end
+
+ def get_notified_from_activity_query(to, true) do
+ query = get_notified_from_activity_query(to, false)
+
+ from(
+ u in query,
where: u.local == true
)
end
- def get_notified_from_activity(%Activity{data: %{"type" => "Announce", "to" => to} = data}) do
+ def get_notified_from_activity(activity, local_only \\ true)
+
+ def get_notified_from_activity(%Activity{data: %{"type" => "Announce", "to" => to} = data}, local_only) do
object = Object.normalize(data["object"])
actor = User.get_cached_by_ap_id(data["actor"])
@@ -485,18 +495,18 @@ defmodule Pleroma.User do
end
|> Enum.uniq()
- query = get_notified_from_activity_query(to)
+ query = get_notified_from_activity_query(to, local_only)
Repo.all(query)
end
- def get_notified_from_activity(%Activity{data: %{"to" => to}}) do
- query = get_notified_from_activity_query(to)
+ def get_notified_from_activity(%Activity{data: %{"to" => to}}, local_only) do
+ query = get_notified_from_activity_query(to, local_only)
Repo.all(query)
end
- def get_notified_from_activity(_), do: []
+ def get_notified_from_activity(_, _), do: []
def get_recipients_from_activity(%Activity{recipients: to}) do
query =