Return statusnet_conversation_id in TwAPI.

This commit is contained in:
Roger Braun 2017-03-28 14:49:21 +02:00
parent e25aea3fa7
commit 0dd3373304
4 changed files with 15 additions and 12 deletions

View File

@ -15,7 +15,8 @@ def to_map(%Activity{} = activity, %{user: user} = opts) 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

View File

@ -34,8 +34,8 @@ def create_status(user = %User{}, data = %{}) 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 @@ def unfollow(%User{} = follower, followed_id) 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)

View File

@ -24,7 +24,8 @@ test "an activity" do
"published" => date,
"type" => "Note",
"content" => content,
"inReplyToStatusId" => 213123
"inReplyToStatusId" => 213123,
"statusnetConversationId" => 4711
},
"published" => date
}
@ -40,7 +41,8 @@ test "an activity" 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

View File

@ -22,8 +22,8 @@ test "create a status" 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 @@ test "create a status that is a reply" 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