activitypub transmogrifier: rewrite incoming hashtags
This commit is contained in:
parent
847cb15626
commit
2aea3bc632
3 changed files with 89 additions and 0 deletions
|
|
@ -22,6 +22,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|
|||
|> fix_context
|
||||
|> fix_in_reply_to
|
||||
|> fix_emoji
|
||||
|> fix_tag
|
||||
end
|
||||
|
||||
def fix_in_reply_to(%{"inReplyTo" => in_reply_to_id} = object) when not is_nil(in_reply_to_id) do
|
||||
|
|
@ -76,6 +77,17 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|
|||
|> Map.put("emoji", emoji)
|
||||
end
|
||||
|
||||
def fix_tag(object) do
|
||||
tags = (object["tag"] || [])
|
||||
|> Enum.filter(fn (data) -> data["type"] == "Hashtag" and data["name"] end)
|
||||
|> Enum.map(fn (data) -> String.slice(data["name"], 1..-1) end)
|
||||
|
||||
combined = (object["tag"] || []) ++ tags
|
||||
|
||||
object
|
||||
|> Map.put("tag", combined)
|
||||
end
|
||||
|
||||
# TODO: validate those with a Ecto scheme
|
||||
# - tags
|
||||
# - emoji
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue