aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2019-01-07 12:20:15 +0000
committerlambda <pleromagit@rogerbraun.net>2019-01-07 12:20:15 +0000
commitb640cf0ce09f2c3f81ad8f74a4a536be34605c49 (patch)
tree24bce7413b4be1dbee69e0e2b3724847ff58b7a7 /lib
parentb0e8e521fbbae4f601c6d2f449ea0e3effe57932 (diff)
parent7dcafb4894006bd9f531403fe585ec4938d4de12 (diff)
downloadpleroma-b640cf0ce09f2c3f81ad8f74a4a536be34605c49.tar.gz
Merge branch 'scarlett/pleroma-search-visibility-check' into 'develop'
Scarlett/pleroma search visibility check See merge request pleroma/pleroma!635
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index 95d0f849c..f739e8f7d 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -725,11 +725,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
json(conn, %{})
end
- def status_search(query) do
+ def status_search(user, query) do
fetched =
if Regex.match?(~r/https?:/, query) do
- with {:ok, object} <- ActivityPub.fetch_object_from_id(query) do
- [Activity.get_create_activity_by_object_ap_id(object.data["id"])]
+ with {:ok, object} <- ActivityPub.fetch_object_from_id(query),
+ %Activity{} = activity <-
+ Activity.get_create_activity_by_object_ap_id(object.data["id"]),
+ true <- ActivityPub.visible_for_user?(activity, user) do
+ [activity]
else
_e -> []
end
@@ -756,7 +759,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
def search2(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do
accounts = User.search(query, params["resolve"] == "true")
- statuses = status_search(query)
+ statuses = status_search(user, query)
tags_path = Web.base_url() <> "/tag/"
@@ -780,7 +783,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
def search(%{assigns: %{user: user}} = conn, %{"q" => query} = params) do
accounts = User.search(query, params["resolve"] == "true")
- statuses = status_search(query)
+ statuses = status_search(user, query)
tags =
String.split(query)