}
end
- def get_reply_to(activity, %{replied_to_activities: replied_to_activities}) do
- id = activity.data["object"]["inReplyTo"]
- replied_to_activities[activity.data["object"]["inReplyTo"]]
- end
-
- def get_reply_to(%{data: %{"object" => object}}, _) do
- if object["inReplyTo"] && object["inReplyTo"] != "" do
- Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
- else
- nil
- end
- end
-
def render("status.json", %{activity: %{data: %{"object" => object}} = activity} = opts) do
user = User.get_cached_by_ap_id(activity.data["actor"])
(activity.data["object"]["emoji"] || [])
|> Enum.map(fn {name, url} ->
name = HtmlSanitizeEx.strip_tags(name)
- url = HtmlSanitizeEx.strip_tags(url)
+
+ url =
+ HtmlSanitizeEx.strip_tags(url)
+ |> MediaProxy.url()
+
%{shortcode: name, url: url, static_url: url}
end)
}
end
- def get_visibility(object) do
- public = "https://www.w3.org/ns/activitystreams#Public"
- to = object["to"] || []
- cc = object["cc"] || []
-
- cond do
- public in to -> "public"
- public in cc -> "unlisted"
- Enum.any?(to, &String.contains?(&1, "/followers")) -> "private"
- true -> "direct"
- end
- end
-
def render("attachment.json", %{attachment: attachment}) do
[%{"mediaType" => media_type, "href" => href} | _] = attachment["url"]
type: type
}
end
+
+ def get_reply_to(activity, %{replied_to_activities: replied_to_activities}) do
+ _id = activity.data["object"]["inReplyTo"]
+ replied_to_activities[activity.data["object"]["inReplyTo"]]
+ end
+
+ def get_reply_to(%{data: %{"object" => object}}, _) do
+ if object["inReplyTo"] && object["inReplyTo"] != "" do
+ Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
+ else
+ nil
+ end
+ end
+
+ def get_visibility(object) do
+ public = "https://www.w3.org/ns/activitystreams#Public"
+ to = object["to"] || []
+ cc = object["cc"] || []
+
+ cond do
+ public in to -> "public"
+ public in cc -> "unlisted"
+ # this should use the sql for the object's activity
+ Enum.any?(to, &String.contains?(&1, "/followers")) -> "private"
+ true -> "direct"
+ end
+ end
end