Handle sensitive property.

This commit is contained in:
lain 2018-02-18 14:14:16 +01:00
parent 20e6190ead
commit 539340d914
4 changed files with 6 additions and 3 deletions

View file

@ -58,7 +58,7 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity}
announcement_count = object["announcement_count"] || 0 announcement_count = object["announcement_count"] || 0
tags = object["tag"] || [] tags = object["tag"] || []
sensitive = Enum.member?(tags, "nsfw") sensitive = object["sensitive"] || Enum.member?(tags, "nsfw")
mentions = activity.data["to"] mentions = activity.data["to"]
|> Enum.map(fn (ap_id) -> User.get_cached_by_ap_id(ap_id) end) |> Enum.map(fn (ap_id) -> User.get_cached_by_ap_id(ap_id) end)

View file

@ -133,7 +133,9 @@ def to_map(%Activity{data: %{"object" => %{"content" => content} = object}} = ac
conversation_id = conversation_id(activity) conversation_id = conversation_id(activity)
tags = activity.data["object"]["tag"] || [] tags = activity.data["object"]["tag"] || []
possibly_sensitive = Enum.member?(tags, "nsfw") possibly_sensitive = activity.data["object"]["sensitive"] || Enum.member?(tags, "nsfw")
tags = if possibly_sensitive, do: ["nsfw" | tags], else: tags
summary = activity.data["object"]["summary"] summary = activity.data["object"]["summary"]
content = if !!summary and summary != "" do content = if !!summary and summary != "" do

View file

@ -36,7 +36,7 @@
"inReplyTo": null, "inReplyTo": null,
"inReplyToAtomUri": null, "inReplyToAtomUri": null,
"published": "2018-02-12T14:08:20Z", "published": "2018-02-12T14:08:20Z",
"sensitive": false, "sensitive": true,
"summary": "cw", "summary": "cw",
"tag": [ "tag": [
{ {

View file

@ -33,6 +33,7 @@ test "it works for incoming notices" do
] ]
assert object["actor"] == "http://mastodon.example.org/users/admin" assert object["actor"] == "http://mastodon.example.org/users/admin"
assert object["attributedTo"] == "http://mastodon.example.org/users/admin" assert object["attributedTo"] == "http://mastodon.example.org/users/admin"
assert object["sensitive"] == true
end end
test "it works for incoming follow requests" do test "it works for incoming follow requests" do