if actor_info.host in @media_removal do
child_object = Map.delete(object["object"], "attachment")
object = Map.put(object, "object", child_object)
+ {:ok, object}
+ else
+ {:ok, object}
end
-
- {:ok, object}
end
@media_nsfw Keyword.get(@mrf_policy, :media_nsfw)
child_object = Map.put(child_object, "tags", tags)
child_object = Map.put(child_object, "sensitive", true)
object = Map.put(object, "object", child_object)
+ {:ok, object}
+ else
+ {:ok, object}
end
-
- {:ok, object}
end
@ftl_removal Keyword.get(@mrf_policy, :federated_timeline_removal)
user = User.get_by_ap_id(object["actor"])
# flip to/cc relationship to make the post unlisted
- if "https://www.w3.org/ns/activitystreams#Public" in object["to"] and
- user.follower_address in object["cc"] do
- to =
- List.delete(object["to"], "https://www.w3.org/ns/activitystreams#Public") ++
- [user.follower_address]
+ object =
+ if "https://www.w3.org/ns/activitystreams#Public" in object["to"] and
+ user.follower_address in object["cc"] do
+ to =
+ List.delete(object["to"], "https://www.w3.org/ns/activitystreams#Public") ++
+ [user.follower_address]
- cc =
- List.delete(object["cc"], user.follower_address) ++
- ["https://www.w3.org/ns/activitystreams#Public"]
+ cc =
+ List.delete(object["cc"], user.follower_address) ++
+ ["https://www.w3.org/ns/activitystreams#Public"]
- object = Map.put(object, "to", to)
- object = Map.put(object, "cc", cc)
- end
- end
+ object
+ |> Map.put("to", to)
+ |> Map.put("cc", cc)
+ else
+ object
+ end
- {:ok, object}
+ {:ok, object}
+ else
+ {:ok, object}
+ end
end
def filter(object) do
|> Enum.reduce(%{}, fn data, mapping ->
name = data["name"]
- if String.starts_with?(name, ":") do
- name = name |> String.slice(1..-2)
- end
+ name =
+ if String.starts_with?(name, ":") do
+ name = name |> String.slice(1..-2)
+ else
+ name
+ end
mapping |> Map.put(name, data["icon"]["url"])
end)
|> Map.put("actor_id", ap_id)
|> Map.put("whole_db", true)
- if params["pinned"] == "true" do
- # Since Pleroma has no "pinned" posts feature, we'll just set an empty list here
- activities = []
- else
- activities =
+ activities =
+ if params["pinned"] == "true" do
+ # Since Pleroma has no "pinned" posts feature, we'll just set an empty list here
+ []
+ else
ActivityPub.fetch_public_activities(params)
|> Enum.reverse()
- end
+ end
conn
|> add_link_headers(:user_statuses, activities, params["id"])
URI.parse(account).host
end
- case find_lrdd_template(domain) do
- {:ok, template} ->
- address = String.replace(template, "{uri}", URI.encode(account))
+ address =
+ case find_lrdd_template(domain) do
+ {:ok, template} ->
+ String.replace(template, "{uri}", URI.encode(account))
- _ ->
- address = "http://#{domain}/.well-known/webfinger?resource=acct:#{account}"
- end
+ _ ->
+ "http://#{domain}/.well-known/webfinger?resource=acct:#{account}"
+ end
with response <-
@httpoison.get(