X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api.ex;h=793a55250ce7ca3af8a571c2a5d84706df8cc8b3;hb=b403ea4d2b69cef4434ad68babdfb402d8227847;hp=71f0c366e0f602c82123b6db09632fcc306c576b;hpb=7269c51f3a4409110bc61faada08e35ce1b4d030;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 71f0c366e..793a55250 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -136,12 +136,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do def follow(%User{} = follower, params) do with {:ok, %User{} = followed} <- get_user(params), {:ok, follower} <- User.follow(follower, followed), - {:ok, activity} <- ActivityPub.insert(%{ - "type" => "Follow", - "actor" => follower.ap_id, - "object" => followed.ap_id, - "published" => make_date() - }) + {:ok, activity} <- ActivityPub.follow(follower, followed) do {:ok, follower, followed, activity} else @@ -150,10 +145,16 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do end def unfollow(%User{} = follower, params) do - with {:ok, %User{} = unfollowed} <- get_user(params), - {:ok, follower} <- User.unfollow(follower, unfollowed) + with { :ok, %User{} = unfollowed } <- get_user(params), + { :ok, follower, follow_activity } <- User.unfollow(follower, unfollowed), + { :ok, _activity } <- ActivityPub.insert(%{ + "type" => "Undo", + "actor" => follower.ap_id, + "object" => follow_activity.data["id"], # get latest Follow for these users + "published" => make_date() + }) do - {:ok, follower, unfollowed} + { :ok, follower, unfollowed } else err -> err end