From: Roger Braun Date: Sat, 9 Sep 2017 10:05:17 +0000 (+0200) Subject: Add type restriction to activitypub fetcher X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=a22f2e683b5e77eb563f0ca05a2160578ed2ac82;p=akkoma Add type restriction to activitypub fetcher Mainly because Mastodon only returns notes, not the other activities. --- diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index db1302738..8ae321658 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -133,6 +133,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do end defp restrict_actor(query, _), do: query + defp restrict_type(query, %{"type" => type}) do + from activity in query, + where: fragment("?->>'type' = ?", activity.data, ^type) + end + defp restrict_type(query, _), do: query + def fetch_activities(recipients, opts \\ %{}) do base_query = from activity in Activity, limit: 20, @@ -144,6 +150,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do |> restrict_local(opts) |> restrict_max(opts) |> restrict_actor(opts) + |> restrict_type(opts) |> Repo.all |> Enum.reverse end