|
|
|
@ -200,22 +200,23 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|
|
|
|
|
def outbox(conn, %{"nickname" => nickname, "page" => page?} = params)
|
|
|
|
|
when page? in [true, "true"] do
|
|
|
|
|
with %User{} = user <- User.get_cached_by_nickname(nickname),
|
|
|
|
|
{:ok, user} <- User.ensure_keys_present(user),
|
|
|
|
|
activities <-
|
|
|
|
|
(if params["max_id"] do
|
|
|
|
|
ActivityPub.fetch_user_activities(user, nil, %{
|
|
|
|
|
"max_id" => params["max_id"],
|
|
|
|
|
# This is a hack because postgres generates inefficient queries when filtering by 'Answer',
|
|
|
|
|
# poll votes will be hidden by the visibility filter in this case anyway
|
|
|
|
|
"include_poll_votes" => true,
|
|
|
|
|
"limit" => 10
|
|
|
|
|
})
|
|
|
|
|
else
|
|
|
|
|
ActivityPub.fetch_user_activities(user, nil, %{
|
|
|
|
|
"limit" => 10,
|
|
|
|
|
"include_poll_votes" => true
|
|
|
|
|
})
|
|
|
|
|
end) do
|
|
|
|
|
{:ok, user} <- User.ensure_keys_present(user) do
|
|
|
|
|
activities =
|
|
|
|
|
if params["max_id"] do
|
|
|
|
|
ActivityPub.fetch_user_activities(user, nil, %{
|
|
|
|
|
"max_id" => params["max_id"],
|
|
|
|
|
# This is a hack because postgres generates inefficient queries when filtering by 'Answer',
|
|
|
|
|
# poll votes will be hidden by the visibility filter in this case anyway
|
|
|
|
|
"include_poll_votes" => true,
|
|
|
|
|
"limit" => 10
|
|
|
|
|
})
|
|
|
|
|
else
|
|
|
|
|
ActivityPub.fetch_user_activities(user, nil, %{
|
|
|
|
|
"limit" => 10,
|
|
|
|
|
"include_poll_votes" => true
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> put_resp_content_type("application/activity+json")
|
|
|
|
|
|> put_view(UserView)
|
|
|
|
|