diff options
author | William Pitcock <nenolod@dereferenced.org> | 2019-05-07 19:30:27 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2019-05-07 19:33:22 +0000 |
commit | 6020ff3fb696c6b46e948d69a8687182c701a743 (patch) | |
tree | d1f2999edd25b86a80220e4be0c5bbc8cad6073b /lib | |
parent | 4c5125dedc429ac021c861c11eb2e41c856ae4e8 (diff) | |
download | pleroma-6020ff3fb696c6b46e948d69a8687182c701a743.tar.gz |
activitypub: add optional order constraint to timeline query builder
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index a4053986f..8f8c23a9b 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -822,12 +822,25 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do |> Activity.with_preloaded_bookmark(opts["user"]) end + defp maybe_order(query, %{order: :desc}) do + query + |> order_by(desc: :id) + end + + defp maybe_order(query, %{order: :asc}) do + query + |> order_by(asc: :id) + end + + defp maybe_order(query, _), do: query + def fetch_activities_query(recipients, opts \\ %{}) do base_query = from(activity in Activity) base_query |> maybe_preload_objects(opts) |> maybe_preload_bookmarks(opts) + |> maybe_order(opts) |> restrict_recipients(recipients, opts["user"]) |> restrict_tag(opts) |> restrict_tag_reject(opts) |