Add logic for keeping follow_request_count up-to-date on the follow,

`approve_friend_request`, and `deny_friend_request` actions.
Add follow_request_count to the user view.
This commit is contained in:
eugenijm 2019-02-10 02:26:29 +03:00
commit ecdf0657ba
9 changed files with 91 additions and 18 deletions

View file

@ -172,9 +172,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
# only accept false as false value
local = !(params[:local] == false)
with data <- %{"to" => to, "type" => "Accept", "actor" => actor, "object" => object},
with data <- %{"to" => to, "type" => "Accept", "actor" => actor.ap_id, "object" => object},
{:ok, activity} <- insert(data, local),
:ok <- maybe_federate(activity) do
:ok <- maybe_federate(activity),
_ <- User.update_follow_request_count(actor) do
{:ok, activity}
end
end
@ -183,9 +184,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
# only accept false as false value
local = !(params[:local] == false)
with data <- %{"to" => to, "type" => "Reject", "actor" => actor, "object" => object},
with data <- %{"to" => to, "type" => "Reject", "actor" => actor.ap_id, "object" => object},
{:ok, activity} <- insert(data, local),
:ok <- maybe_federate(activity) do
:ok <- maybe_federate(activity),
_ <- User.update_follow_request_count(actor) do
{:ok, activity}
end
end
@ -283,7 +285,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
def follow(follower, followed, activity_id \\ nil, local \\ true) do
with data <- make_follow_data(follower, followed, activity_id),
{:ok, activity} <- insert(data, local),
:ok <- maybe_federate(activity) do
:ok <- maybe_federate(activity),
_ <- User.update_follow_request_count(followed) do
{:ok, activity}
end
end
@ -293,7 +296,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
{:ok, follow_activity} <- update_follow_state(follow_activity, "cancelled"),
unfollow_data <- make_unfollow_data(follower, followed, follow_activity, activity_id),
{:ok, activity} <- insert(unfollow_data, local),
:ok <- maybe_federate(activity) do
:ok <- maybe_federate(activity),
_ <- User.update_follow_request_count(followed) do
{:ok, activity}
end
end

View file

@ -406,7 +406,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
if not User.locked?(followed) do
ActivityPub.accept(%{
to: [follower.ap_id],
actor: followed.ap_id,
actor: followed,
object: data,
local: true
})
@ -432,7 +432,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
ActivityPub.accept(%{
to: follow_activity.data["to"],
type: "Accept",
actor: followed.ap_id,
actor: followed,
object: follow_activity.data["id"],
local: false
}) do
@ -458,7 +458,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
ActivityPub.reject(%{
to: follow_activity.data["to"],
type: "Reject",
actor: followed.ap_id,
actor: followed,
object: follow_activity.data["id"],
local: false
}) do