From 0dd337330421fb9efe580275485d948d60da328a Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Tue, 28 Mar 2017 14:49:21 +0200 Subject: [PATCH] Return statusnet_conversation_id in TwAPI. --- .../twitter_api/representers/activity_representer.ex | 3 ++- lib/pleroma/web/twitter_api/twitter_api.ex | 10 +++++----- .../representers/activity_representer_test.exs | 6 ++++-- test/web/twitter_api/twitter_api_test.exs | 8 ++++---- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex index 3b0683043..05d130639 100644 --- a/lib/pleroma/web/twitter_api/representers/activity_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -15,7 +15,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do "is_local" => true, "is_post_verb" => true, "created_at" => published, - "in_reply_to_status_id" => activity.data["object"]["inReplyToStatusId"] + "in_reply_to_status_id" => activity.data["object"]["inReplyToStatusId"], + "statusnet_conversation_id" => activity.data["object"]["statusnetConversationId"] } end end diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 7bbab14c5..07893e565 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -34,8 +34,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do |> put_in(["object", "context"], context) |> put_in(["object", "inReplyTo"], inReplyTo.data["object"]["id"]) |> put_in(["object", "inReplyToStatusId"], inReplyToId) - |> put_in(["statusnet_conversation_id"], inReplyTo.data["statusnet_conversation_id"]) - |> put_in(["object", "statusnet_conversation_id"], inReplyTo.data["statusnet_conversation_id"]) + |> put_in(["statusnetConversationId"], inReplyTo.data["statusnetConversationId"]) + |> put_in(["object", "statusnetConversationId"], inReplyTo.data["statusnetConversationId"]) else _e -> activity end @@ -72,12 +72,12 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do end defp add_conversation_id(activity) do - if is_integer(activity.data["statusnet_conversation_id"]) do + if is_integer(activity.data["statusnetConversationId"]) do {:ok, activity} else data = activity.data - |> put_in(["object", "statusnet_conversation_id"], activity.id) - |> put_in(["statusnet_conversation_id"], activity.id) + |> put_in(["object", "statusnetConversationId"], activity.id) + |> put_in(["statusnetConversationId"], activity.id) changeset = Ecto.Changeset.change(activity, data: data) Repo.update(changeset) diff --git a/test/web/twitter_api/representers/activity_representer_test.exs b/test/web/twitter_api/representers/activity_representer_test.exs index b65101115..376d31575 100644 --- a/test/web/twitter_api/representers/activity_representer_test.exs +++ b/test/web/twitter_api/representers/activity_representer_test.exs @@ -24,7 +24,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do "published" => date, "type" => "Note", "content" => content, - "inReplyToStatusId" => 213123 + "inReplyToStatusId" => 213123, + "statusnetConversationId" => 4711 }, "published" => date } @@ -40,7 +41,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do "text" => content, "is_post_verb" => true, "created_at" => date, - "in_reply_to_status_id" => 213123 + "in_reply_to_status_id" => 213123, + "statusnet_conversation_id" => 4711 } assert ActivityRepresenter.to_map(activity, %{user: user, for: follower}) == expected_status diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index e7c180a9c..381a9fa5b 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -22,8 +22,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do # Add a context + 'statusnet_conversation_id' assert is_binary(get_in(activity.data, ["context"])) assert is_binary(get_in(activity.data, ["object", "context"])) - assert get_in(activity.data, ["object", "statusnet_conversation_id"]) == activity.id - assert get_in(activity.data, ["statusnet_conversation_id"]) == activity.id + assert get_in(activity.data, ["object", "statusnetConversationId"]) == activity.id + assert get_in(activity.data, ["statusnetConversationId"]) == activity.id end test "create a status that is a reply" do @@ -43,8 +43,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do assert get_in(reply.data, ["context"]) == get_in(activity.data, ["context"]) assert get_in(reply.data, ["object", "context"]) == get_in(activity.data, ["object", "context"]) - assert get_in(reply.data, ["statusnet_conversation_id"]) == get_in(activity.data, ["statusnet_conversation_id"]) - assert get_in(reply.data, ["object", "statusnet_conversation_id"]) == get_in(activity.data, ["object", "statusnet_conversation_id"]) + assert get_in(reply.data, ["statusnetConversationId"]) == get_in(activity.data, ["statusnetConversationId"]) + assert get_in(reply.data, ["object", "statusnetConversationId"]) == get_in(activity.data, ["object", "statusnetConversationId"]) assert get_in(reply.data, ["object", "inReplyTo"]) == get_in(activity.data, ["object", "id"]) assert get_in(reply.data, ["object", "inReplyToStatusId"]) == activity.id end