summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFrancis Dinh <normandy@firemail.cc>2018-05-22 04:27:40 -0400
committerFrancis Dinh <normandy@firemail.cc>2018-05-22 04:27:40 -0400
commitb2c6ae7d820fb9d6bf81c6912e3e9b10a6fa7dd2 (patch)
tree1ffb79751a6417501e8f976ebe7f5817fc825004 /lib
parent46427cb90f31d72435b10134a85fad674e10f1cd (diff)
downloadpleroma-b2c6ae7d820fb9d6bf81c6912e3e9b10a6fa7dd2.tar.gz
pleroma-b2c6ae7d820fb9d6bf81c6912e3e9b10a6fa7dd2.zip
Hook up unfollow and (un)block to MastoAPI + tests
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex17
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index 85f9c5b7b..b21f5de20 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -457,24 +457,18 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
end
end
- # TODO: Clean up and unify
def unfollow(%{assigns: %{user: follower}} = conn, %{"id" => id}) do
with %User{} = followed <- Repo.get(User, id),
- {:ok, follower, follow_activity} <- User.unfollow(follower, followed),
- {:ok, _activity} <-
- ActivityPub.insert(%{
- "type" => "Undo",
- "actor" => follower.ap_id,
- # get latest Follow for these users
- "object" => follow_activity.data["id"]
- }) do
+ {:ok, _activity} <- ActivityPub.unfollow(follower, followed),
+ {:ok, follower, _} <- User.unfollow(follower, followed) do
render(conn, AccountView, "relationship.json", %{user: follower, target: followed})
end
end
def block(%{assigns: %{user: blocker}} = conn, %{"id" => id}) do
with %User{} = blocked <- Repo.get(User, id),
- {:ok, blocker} <- User.block(blocker, blocked) do
+ {:ok, blocker} <- User.block(blocker, blocked),
+ {:ok, _activity} <- ActivityPub.block(blocker, blocked) do
render(conn, AccountView, "relationship.json", %{user: blocker, target: blocked})
else
{:error, message} ->
@@ -486,7 +480,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
def unblock(%{assigns: %{user: blocker}} = conn, %{"id" => id}) do
with %User{} = blocked <- Repo.get(User, id),
- {:ok, blocker} <- User.unblock(blocker, blocked) do
+ {:ok, blocker} <- User.unblock(blocker, blocked),
+ {:ok, _activity} <- ActivityPub.unblock(blocker, blocked) do
render(conn, AccountView, "relationship.json", %{user: blocker, target: blocked})
else
{:error, message} ->