Commit 6b4064fa authored by kaniini's avatar kaniini
Browse files

activitypub: transmogrifier: unify mention extraction

parent 0a2c1a34
Pipeline #4337 passed with stages
in 6 minutes and 49 seconds
......@@ -482,7 +482,10 @@ def get_notified_from_activity_query(to, true) do
def get_notified_from_activity(activity, local_only \\ true)
def get_notified_from_activity(%Activity{data: %{"type" => "Announce", "to" => to} = data}, local_only) do
def get_notified_from_activity(
%Activity{data: %{"type" => "Announce", "to" => to} = data},
local_only
) do
object = Object.normalize(data["object"])
actor = User.get_cached_by_ap_id(data["actor"])
......
......@@ -693,12 +693,9 @@ def add_hashtags(object) do
end
def add_mention_tags(object) do
recipients = object["to"] || []
mentions =
recipients
|> Enum.map(fn ap_id -> User.get_cached_by_ap_id(ap_id) end)
|> Enum.filter(& &1)
object
|> Utils.get_notified_from_object()
|> Enum.map(fn user ->
%{"type" => "Mention", "href" => user.ap_id, "name" => "@#{user.nickname}"}
end)
......
......@@ -95,6 +95,10 @@ def generate_id(type) do
"#{Web.base_url()}/#{type}/#{UUID.generate()}"
end
def get_notified_from_object(object) do
User.get_notified_from_activity(%Activity{data: object}, false)
end
def create_context(context) do
context = context || generate_id("contexts")
changeset = Object.context_mapping(context)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment