ActivityPub: Add conversation id.

This commit is contained in:
lain 2018-02-18 13:58:52 +01:00
parent 912ca56e59
commit 8ca66b5961
2 changed files with 7 additions and 1 deletions

View file

@ -104,6 +104,7 @@ def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = obj
|> add_mention_tags
|> add_attributed_to
|> prepare_attachments
|> set_conversation
data = data
|> Map.put("object", object)
@ -139,6 +140,10 @@ def add_mention_tags(object) do
|> Map.put("tag", tags ++ mentions)
end
def set_conversation(object) do
Map.put(object, "conversation", object["context"])
end
def add_attributed_to(object) do
attributedTo = object["attributedTo"] || object["actor"]

View file

@ -120,13 +120,14 @@ test "it turns mentions into tags" do
assert Enum.member?(object["tag"], expected_mention)
end
test "it adds the json-ld context" do
test "it adds the json-ld context and the conversation property" do
user = insert(:user)
{:ok, activity} = CommonAPI.post(user, %{"status" => "hey"})
{:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)
assert modified["@context"] == "https://www.w3.org/ns/activitystreams"
assert modified["object"]["conversation"] == modified["context"]
end
test "it sets the 'attributedTo' property to the actor of the object if it doesn't have one" do