diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-07-09 09:08:59 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-07-09 09:08:59 -0500 |
commit | 49c4e2495357797caa82b4eb0a4d03e8c8dd2730 (patch) | |
tree | 7295ba98c7833534622a9c7fb27580691fbc06a5 /lib/pleroma/web/common_api/common_api.ex | |
parent | da4029391d217b1e2c151e69479de42e2221e02f (diff) | |
parent | 8ca1f3e8c61b906387e9cb6fb8993d2ad496ab3d (diff) | |
download | pleroma-49c4e2495357797caa82b4eb0a4d03e8c8dd2730.tar.gz |
Merge branch 'develop' into fix/csp-for-captcha
Diffstat (limited to 'lib/pleroma/web/common_api/common_api.ex')
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index fd7149079..4d5b0decf 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -101,10 +101,14 @@ defmodule Pleroma.Web.CommonAPI do def follow(follower, followed) do timeout = Pleroma.Config.get([:activitypub, :follow_handshake_timeout]) - with {:ok, follower} <- User.maybe_direct_follow(follower, followed), - {:ok, activity} <- ActivityPub.follow(follower, followed), + with {:ok, follow_data, _} <- Builder.follow(follower, followed), + {:ok, activity, _} <- Pipeline.common_pipeline(follow_data, local: true), {:ok, follower, followed} <- User.wait_and_refresh(timeout, follower, followed) do - {:ok, follower, followed, activity} + if activity.data["state"] == "reject" do + {:error, :rejected} + else + {:ok, follower, followed, activity} + end end end |