diff options
author | lain <lain@soykaf.club> | 2020-05-17 12:14:49 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-17 12:14:49 +0200 |
commit | 9c171097653abce49b9847fff66bc39b35719a1c (patch) | |
tree | e89ab9245f0844bfb3334f62f67f8ab9f0949580 /lib/pleroma/web/common_api | |
parent | f012c3a202ef43d1a8a1dc88f08057b7a41d3d78 (diff) | |
parent | b0ccdb5af4baa119b336298d38f34746cdce0111 (diff) | |
download | pleroma-9c171097653abce49b9847fff66bc39b35719a1c.tar.gz |
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
Diffstat (limited to 'lib/pleroma/web/common_api')
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 7008cea44..ce5dad448 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -65,10 +65,21 @@ defmodule Pleroma.Web.CommonAPI do end def unblock(blocker, blocked) do - with %Activity{} = block <- Utils.fetch_latest_block(blocker, blocked), + with {_, %Activity{} = block} <- {:fetch_block, Utils.fetch_latest_block(blocker, blocked)}, {:ok, unblock_data, _} <- Builder.undo(blocker, block), {:ok, unblock, _} <- Pipeline.common_pipeline(unblock_data, local: true) do {:ok, unblock} + else + {:fetch_block, nil} -> + if User.blocks?(blocker, blocked) do + User.unblock(blocker, blocked) + {:ok, :no_activity} + else + {:error, :not_blocking} + end + + e -> + e end end |