aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2019-01-10 16:07:32 +0100
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2019-01-26 04:46:01 +0100
commit4ad0ad14ed2d8a10bbf642fd989b3f7f55f9017d (patch)
tree507cdba99b1037cbbb89d4ff8f973f27125b99c8 /lib
parentd8f446f438716cc1a474c9352e8cca8778a48d85 (diff)
downloadpleroma-4ad0ad14ed2d8a10bbf642fd989b3f7f55f9017d.tar.gz
Web.ActivityPub.ActivityPub: Simplify multi-hashtag, add tests
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex21
1 files changed, 3 insertions, 18 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index d414ecc46..62f4a33c8 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -430,30 +430,15 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
when is_list(tag) and tag_reject != [] do
from(
activity in query,
- where:
- fragment(
- "? && ARRAY(SELECT jsonb_array_elements_text((? #> '{\"object\",\"tag\"}')))",
- ^tag,
- activity.data
- ),
- where:
- fragment(
- "(not ? && ARRAY(SELECT jsonb_array_elements_text((? #> '{\"object\",\"tag\"}'))))",
- ^tag_reject,
- activity.data
- )
+ where: fragment("(? #> '{\"object\",\"tag\"}') \\?| ?", activity.data, ^tag),
+ where: fragment("(not (? #> '{\"object\",\"tag\"}') \\?| ?)", activity.data, ^tag_reject)
)
end
defp restrict_tag(query, %{"tag" => tag}) when is_list(tag) do
from(
activity in query,
- where:
- fragment(
- "? && ARRAY(SELECT jsonb_array_elements_text((? #> '{\"object\",\"tag\"}')))",
- ^tag,
- activity.data
- )
+ where: fragment("(? #> '{\"object\",\"tag\"}') \\?| ?", activity.data, ^tag)
)
end