Add fetching of activities in context.

This commit is contained in:
Roger Braun 2017-03-24 00:09:08 +01:00
parent ae50b165cc
commit 866a2663d4
2 changed files with 18 additions and 0 deletions

View file

@ -60,4 +60,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
Repo.all(query) Repo.all(query)
|> Enum.reverse |> Enum.reverse
end end
def fetch_activities_for_context(context) do
query = from activity in Activity,
where: fragment("? @> ?", activity.data, ^%{ context: context })
Repo.all(query)
end
end end

View file

@ -49,6 +49,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
end end
end end
describe "fetch activities in context" do
test "retrieves activities that have a given context" do
{:ok, activity} = ActivityBuilder.insert(%{"context" => "2hu"})
{:ok, activity_two} = ActivityBuilder.insert(%{"context" => "2hu"})
{:ok, _activity_three} = ActivityBuilder.insert(%{"context" => "3hu"})
activities = ActivityPub.fetch_activities_for_context("2hu")
assert activities == [activity, activity_two]
end
end
describe "public fetch activities" do describe "public fetch activities" do
test "retrieves public activities" do test "retrieves public activities" do
%{public: public} = ActivityBuilder.public_and_non_public %{public: public} = ActivityBuilder.public_and_non_public