diff options
author | Sadposter <hannah+pleroma@coffee-and-dreams.uk> | 2019-04-05 14:59:34 +0100 |
---|---|---|
committer | Hannah Ward <Hannah.ward9001@gmail.com> | 2019-04-05 15:30:26 +0100 |
commit | 316fe20d864711c2854401eaa2cb08f627d5e536 (patch) | |
tree | 685bb6aba202738f3d037a0ad16e5bfe95ea680e | |
parent | 23c4f4949436003f6ccd7fd283492a6598f88482 (diff) | |
download | pleroma-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.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/common_api/utils.ex | 9 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 4 |
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 |