Make subscriptions the same direction as blocks

That being, user - subscribes to -> users, rather than
user - has subscribers -> users
This commit is contained in:
Sadposter 2019-04-05 14:59:34 +01:00 committed by Hannah Ward
parent 23c4f49494
commit 316fe20d86
3 changed files with 13 additions and 7 deletions

View file

@ -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 =

View file

@ -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()

View file

@ -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