aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2017-11-14 14:09:36 +0000
committerlambda <pleromagit@rogerbraun.net>2017-11-14 14:09:36 +0000
commitdd76036cbb8c77aaaeb9d6c9b55df41658046e16 (patch)
treef2f3822f46dc9882695cd40d14383418db7bfe3e /lib
parent773eba4f0bb6151158285f7985e46958dcbd1b9d (diff)
parent06c3ee3bac9abe5a369364743143618c473eb7a9 (diff)
downloadpleroma-dd76036cbb8c77aaaeb9d6c9b55df41658046e16.tar.gz
Merge branch 'mastoapi-media-timeline' into 'develop'
MastoAPI: Add media timelines. Closes #63 See merge request pleroma/pleroma!16
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 35536a1e4..9af0f553c 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -159,6 +159,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
end
defp restrict_favorited_by(query, _), do: query
+ defp restrict_media(query, %{"only_media" => val}) when val == "true" or val == "1" do
+ from activity in query,
+ where: fragment("not (? #> '{\"object\",\"attachment\"}' = ?)", activity.data, ^[])
+ end
+ defp restrict_media(query, _), do: query
+
# Only search through last 100_000 activities by default
defp restrict_recent(query, %{"whole_db" => true}), do: query
defp restrict_recent(query, _) do
@@ -191,6 +197,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|> restrict_favorited_by(opts)
|> restrict_recent(opts)
|> restrict_blocked(opts)
+ |> restrict_media(opts)
|> Repo.all
|> Enum.reverse
end