aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoreal <eal@waifu.club>2017-11-14 15:41:16 +0200
committereal <eal@waifu.club>2017-11-14 15:41:16 +0200
commitc84723b67956f731801c98a1335128d8cdbf9291 (patch)
treecac20ce3e7a573d89b2e2403e33dcfca09f2499c /lib
parent083cd169d21b0f20332eac80b4481adb41810a64 (diff)
downloadpleroma-c84723b67956f731801c98a1335128d8cdbf9291.tar.gz
MastoAPI: Add media timelines.
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..5b02fc2c6 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" => true}) 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