Skip to content
Snippets Groups Projects
Commit 429992fc authored by lain's avatar lain
Browse files

Save external link for notes.

parent 7dca02f9
Branches
No related tags found
No related merge requests found
......@@ -49,6 +49,11 @@ def make_to_list(actor, mentions) do
] ++ mentions
end
def add_external_url(note, entry) do
url = XML.string_from_xpath("//link[@rel='alternate' and @type='text/html']/@href", entry)
Map.put(note, "external_url", url)
end
def handle_note(entry, doc \\ nil) do
with id <- XML.string_from_xpath("//id", entry),
activity when is_nil(activity) <- Activity.get_create_activity_by_object_ap_id(id),
......@@ -67,6 +72,7 @@ def handle_note(entry, doc \\ nil) do
note <- TwitterAPI.Utils.make_note_data(actor.ap_id, to, context, content_html, attachments, inReplyToActivity, []),
note <- note |> Map.put("id", id) |> Map.put("tag", tags),
note <- note |> Map.put("published", date),
note <- add_external_url(note, entry),
# TODO: Handle this case in make_note_data
note <- (if inReplyTo && !inReplyToActivity, do: note |> Map.put("inReplyTo", inReplyTo), else: note)
do
......
......@@ -45,6 +45,7 @@ test "handle incoming notes with attachments - GS, subscription" do
assert activity.data["object"]["type"] == "Note"
assert activity.data["object"]["actor"] == "https://social.heldscal.la/user/23211"
assert activity.data["object"]["attachment"] |> length == 2
assert activity.data["object"]["external_url"] == "https://social.heldscal.la/notice/2020923"
end
test "handle incoming notes with tags" do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment