From 5dc278b1a68a244ad09853ef3e9a100851a51420 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Thu, 24 Aug 2017 16:18:26 +0200 Subject: [PATCH] Add activity_type to twitter api output. --- .../representers/activity_representer.ex | 15 ++++++++++----- .../representers/activity_representer_test.exs | 6 +++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex index 10aab919a..16a2f6810 100644 --- a/lib/pleroma/web/twitter_api/representers/activity_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -29,7 +29,8 @@ def to_map(%Activity{data: %{"type" => "Announce", "actor" => actor, "published" "created_at" => created_at, "retweeted_status" => retweeted_status, "statusnet_conversation_id" => conversation_id(announced_activity), - "external_url" => activity.data["id"] + "external_url" => activity.data["id"], + "activity_type" => "repeat" } end @@ -49,7 +50,8 @@ def to_map(%Activity{data: %{"type" => "Like", "published" => created_at}} = act "uri" => "tag:#{activity.data["id"]}:objectType=Favourite", "created_at" => created_at, "in_reply_to_status_id" => liked_activity.id, - "external_url" => activity.data["id"] + "external_url" => activity.data["id"], + "activity_type" => "like" } end @@ -68,7 +70,8 @@ def to_map(%Activity{data: %{"type" => "Follow", "published" => created_at, "obj "is_post_verb" => false, "created_at" => created_at, "in_reply_to_status_id" => nil, - "external_url" => activity.data["id"] + "external_url" => activity.data["id"], + "activity_type" => "follow" } end @@ -88,7 +91,8 @@ def to_map(%Activity{data: %{"type" => "Undo", "published" => created_at, "objec "is_post_verb" => false, "created_at" => created_at, "in_reply_to_status_id" => nil, - "external_url" => activity.data["id"] + "external_url" => activity.data["id"], + "activity_type" => "undo" } end @@ -125,7 +129,8 @@ def to_map(%Activity{data: %{"object" => %{"content" => content} = object}} = ac "favorited" => to_boolean(favorited), "repeated" => to_boolean(repeated), "external_url" => object["external_url"], - "tags" => activity.data["object"]["tag"] || [] + "tags" => activity.data["object"]["tag"] || [], + "activity_type" => "post" } end diff --git a/test/web/twitter_api/representers/activity_representer_test.exs b/test/web/twitter_api/representers/activity_representer_test.exs index e9f6a1915..f9998e614 100644 --- a/test/web/twitter_api/representers/activity_representer_test.exs +++ b/test/web/twitter_api/representers/activity_representer_test.exs @@ -27,6 +27,7 @@ test "an announce activity" do assert status["statusnet_conversation_id"] == retweeted_status["statusnet_conversation_id"] assert status["retweeted_status"] == retweeted_status + assert status["activity_type"] == "repeat" end test "a like activity" do @@ -44,6 +45,7 @@ test "a like activity" do activity_actor = Repo.get_by(User, ap_id: note_activity.data["actor"]) liked_status = ActivityRepresenter.to_map(note_activity, %{user: activity_actor, for: user}) assert liked_status["favorited"] == true + assert status["activity_type"] == "like" end test "an activity" do @@ -127,7 +129,8 @@ test "an activity" do "favorited" => false, "repeated" => false, "external_url" => "some url", - "tags" => ["content", "mentioning", "nsfw"] + "tags" => ["content", "mentioning", "nsfw"], + "activity_type" => "post" } assert ActivityRepresenter.to_map(activity, %{user: user, for: follower, mentioned: [mentioned_user]}) == expected_status @@ -142,5 +145,6 @@ test "an undo for a follow" do map = ActivityRepresenter.to_map(unfollow, %{user: follower}) assert map["is_post_verb"] == false + assert map["activity_type"] == "undo" end end