X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api.ex;fp=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api.ex;h=793a55250ce7ca3af8a571c2a5d84706df8cc8b3;hb=b403ea4d2b69cef4434ad68babdfb402d8227847;hp=3921c0d74e75adbb589695f2d8c81887b47896ea;hpb=60b4b0d725aefdca3eedd2d7708b0c96ee60c5f4;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 3921c0d74..793a55250 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -136,16 +136,8 @@ 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, - "to" => [followed.ap_id], - "object" => followed.ap_id, - "published" => make_date() - }) + {:ok, activity} <- ActivityPub.follow(follower, followed) do - # TODO move all this to ActivityPub - Pleroma.Web.Federator.enqueue(:publish, activity) {:ok, follower, followed, activity} else err -> err @@ -153,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