aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadposter <hannah+pleroma@coffee-and-dreams.uk>2019-04-05 14:59:34 +0100
committerHannah Ward <Hannah.ward9001@gmail.com>2019-04-05 15:30:26 +0100
commit316fe20d864711c2854401eaa2cb08f627d5e536 (patch)
tree685bb6aba202738f3d037a0ad16e5bfe95ea680e
parent23c4f4949436003f6ccd7fd283492a6598f88482 (diff)
downloadpleroma-316fe20d864711c2854401eaa2cb08f627d5e536.tar.gz
Make subscriptions the same direction as blocks
That being, user - subscribes to -> users, rather than user - has subscribers -> users
-rw-r--r--lib/pleroma/user.ex7
-rw-r--r--lib/pleroma/web/common_api/utils.ex9
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex4
3 files changed, 13 insertions, 7 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 70db520ca..6b213df58 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1006,7 +1006,12 @@ defmodule Pleroma.User do
do: Repo.all(from(u in User, where: u.ap_id in ^user.info.blocks))
def subscribed_users(user),
- do: Repo.all(from(u in User, where: u.ap_id in ^user.info.subscriptions))
+ do:
+ Repo.all(
+ from(u in User,
+ where: fragment("?->'subscriptions' @> ?", u.info, ^user.ap_id)
+ )
+ )
def block_domain(user, domain) do
info_cng =
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index effc49a01..087778dfe 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -336,10 +336,11 @@ defmodule Pleroma.Web.CommonAPI.Utils do
def maybe_notify_mentioned_recipients(recipients, _), do: recipients
def maybe_notify_subscribers(
- recipients,
- %Activity{data: %{"actor" => actor, "type" => type}}
- ) when type == "Create" do
- with %User{} = user <- User.get_by_ap_id(actor) do
+ recipients,
+ %Activity{data: %{"actor" => actor, "type" => type}}
+ )
+ when type == "Create" do
+ with %User{} = user <- User.get_by_ap_id(actor) do
subscriber_ids =
user
|> User.subscribed_users()
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index af4c0a60e..0732705e6 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -279,7 +279,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
{:error, msg} ->
forbidden_json_reply(conn, msg)
end
- end
+ end
def unsubscribe(%{assigns: %{user: user}} = conn, params) do
case TwitterAPI.unsubscribe(user, params) do
@@ -287,7 +287,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
conn
|> put_view(UserView)
|> render("show.json", %{user: unsubscribed, for: user})
-
+
{:error, msg} ->
forbidden_json_reply(conn, msg)
end