[WIP,MastoAPI] Multi-tag timelines

This commit is contained in:
Haelwenn (lanodan) Monnier 2018-12-19 17:21:35 +01:00
commit f9cae0d04f
No known key found for this signature in database
GPG key ID: D5B7A8E43C997DEE
2 changed files with 24 additions and 4 deletions

View file

@ -426,10 +426,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_since(query, _), do: query
defp restrict_tag(query, %{"tag" => tag, "tag_reject" => tag_reject}) when tag_reject != [] do
from(
activity in query,
where: fragment("? <@ (? #> '{\"object\",\"tag\"}')", ^tag, activity.data),
where: fragment("? @> (? #> '{\"object\",\"tag\"}')", ^tag_reject, activity.data)
)
end
defp restrict_tag(query, %{"tag" => tag}) do
from(
activity in query,
where: fragment("? <@ (? #> '{\"object\",\"tag\"}')", ^tag, activity.data)
where: fragment("? && jsonb_array_elements_text((? #> '{\"object\",\"tag\"}'))", ^tag, activity.data)
)
end