diff options
author | eal <eal@waifu.club> | 2017-11-14 15:41:16 +0200 |
---|---|---|
committer | eal <eal@waifu.club> | 2017-11-14 15:41:16 +0200 |
commit | c84723b67956f731801c98a1335128d8cdbf9291 (patch) | |
tree | cac20ce3e7a573d89b2e2403e33dcfca09f2499c /lib | |
parent | 083cd169d21b0f20332eac80b4481adb41810a64 (diff) | |
download | pleroma-c84723b67956f731801c98a1335128d8cdbf9291.tar.gz |
MastoAPI: Add media timelines.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 7 |
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 |