diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-05-25 12:51:04 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-05-25 12:53:12 +0000 |
commit | 7cf3cf77cfffd1e1f6187d7a3485bf2a5d18ca00 (patch) | |
tree | 1a5cc2d9894ec1effea206b568eaae858101a98a /lib | |
parent | f35e6bf75bf81496a5c7192780d9db62ba6b42a9 (diff) | |
download | pleroma-7cf3cf77cfffd1e1f6187d7a3485bf2a5d18ca00.tar.gz |
activitypub transmogrifier: cleanups and tests for incoming accepts/rejects
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 519548788..41198d4e6 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -152,10 +152,10 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do {:ok, follow_object} is_binary(follow_object) -> - object = get_obj_helper(follow_object) || ActivityPub.fetch_object_from_id(follow_object) + object = Activity.get_by_ap_id(follow_object) if object do - {:ok, object} + {:ok, object.data} else {:error, nil} end @@ -170,12 +170,13 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do ) do with %User{} = followed <- User.get_or_fetch_by_ap_id(actor), {:ok, follow_activity} <- get_follow_activity(follow_object), - %User{local: true} = follower <- User.get_cached_by_ap_id(follow_activity["actor"]) do + %User{local: true} = follower <- User.get_cached_by_ap_id(follow_activity["actor"]), + {:ok, activity} <- ActivityPub.insert(data, true) do if not User.following?(follower, followed) do - User.follow(follower, followed) + {:ok, follower} = User.follow(follower, followed) end - {:ok, data} + {:ok, activity} end end @@ -184,10 +185,11 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do ) do with %User{} = followed <- User.get_or_fetch_by_ap_id(actor), {:ok, follow_activity} <- get_follow_activity(follow_object), - %User{local: true} = follower <- User.get_cached_by_ap_id(follow_activity["actor"]) do + %User{local: true} = follower <- User.get_cached_by_ap_id(follow_activity["actor"]), + {:ok, activity} <- ActivityPub.insert(data, true) do User.unfollow(follower, followed) - {:ok, data} + {:ok, activity} end end |