aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-02-09 14:09:01 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-02-09 14:09:01 +0300
commit6ea3c06d8d42cd92b23c6de2d041db1cfea63b5a (patch)
treeec283ea516d26eff9769d14e6a3183feea3eb321
parent7c3991f59eccc47551257dfe41817e71d0eb6717 (diff)
downloadpleroma-6ea3c06d8d42cd92b23c6de2d041db1cfea63b5a.tar.gz
[#1505] Minor refactoring.
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex24
1 files changed, 11 insertions, 13 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index e89588f29..343228b37 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -914,22 +914,23 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
Based on Mastodon's ActivityPub::NoteSerializer#replies.
"""
def set_replies(obj_data) do
- limit = Pleroma.Config.get([:activitypub, :note_replies_output_limit], 0)
-
replies_uris =
- with true <- limit > 0 || nil,
+ with limit when limit > 0 <-
+ Pleroma.Config.get([:activitypub, :note_replies_output_limit], 0),
%Object{} = object <- Object.get_cached_by_ap_id(obj_data["id"]) do
object
|> Object.self_replies()
|> select([o], fragment("?->>'id'", o.data))
|> limit(^limit)
|> Repo.all()
+ else
+ _ -> []
end
- set_replies(obj_data, replies_uris || [])
+ set_replies(obj_data, replies_uris)
end
- defp set_replies(obj, replies_uris) when replies_uris in [nil, []] do
+ defp set_replies(obj, []) do
obj
end
@@ -952,15 +953,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
Map.merge(obj, %{"replies" => replies_collection})
end
- def replies(%{"replies" => replies} = _object) when is_map(replies) do
- replies =
- if is_map(replies["first"]) do
- replies["first"]
- else
- replies
- end
+ def replies(%{"replies" => %{"first" => %{"items" => items}}}) when not is_nil(items) do
+ items
+ end
- replies["items"] || []
+ def replies(%{"replies" => %{"items" => items}}) when not is_nil(items) do
+ items
end
def replies(_), do: []