diff options
author | Roman Chvanikov <chvanikoff@pm.me> | 2020-05-18 11:56:27 +0300 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@pm.me> | 2020-05-18 11:56:27 +0300 |
commit | 01bd6a1e54c8734e8965f153a9406cecc07950f3 (patch) | |
tree | 791348626f54b390167693da8c1a6481c54d78de /lib/pleroma/web/common_api/common_api.ex | |
parent | 8a383707ae143ba47fa1ba68da20bc6bec425126 (diff) | |
parent | 1199cf3a788334cd3fdb968d9f736e43c1401da1 (diff) | |
download | pleroma-01bd6a1e54c8734e8965f153a9406cecc07950f3.tar.gz |
Merge branch 'develop' into feature/admin-api-status-count-per-instance
Diffstat (limited to 'lib/pleroma/web/common_api/common_api.ex')
-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 601caeb46..7c94f16b6 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -25,10 +25,21 @@ defmodule Pleroma.Web.CommonAPI do require Logger 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 |