[#2456] Clarified `skip_relationships` option (and its default of `false`) for Mastod...
authorIvan Tashkinov <ivantashkinov@gmail.com>
Sat, 9 May 2020 16:03:07 +0000 (19:03 +0300)
committerIvan Tashkinov <ivantashkinov@gmail.com>
Sat, 9 May 2020 16:03:07 +0000 (19:03 +0300)
lib/pleroma/web/mastodon_api/views/account_view.ex

index f0b157962cdad7a6fa4cbc59e9cd2360265fdd25..c1786a322d3e2c3c3a8dc7143b8b9243ea12ede7 100644 (file)
@@ -12,8 +12,16 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
   alias Pleroma.Web.MastodonAPI.AccountView
   alias Pleroma.Web.MediaProxy
 
+  # Default behaviour for account view is to include embedded relationships
+  #   (e.g. when accounts are rendered on their own [e.g. a list of search results], not as
+  #   embedded content in notifications / statuses).
+  # This option must be explicitly set to false when rendering accounts as embedded content.
+  defp initialize_skip_relationships(opts) do
+    Map.merge(%{skip_relationships: false}, opts)
+  end
+
   def render("index.json", %{users: users} = opts) do
-    opts = Map.merge(%{skip_relationships: false}, opts)
+    opts = initialize_skip_relationships(opts)
 
     reading_user = opts[:for]
 
@@ -161,7 +169,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
   end
 
   defp do_render("show.json", %{user: user} = opts) do
-    opts = Map.merge(%{skip_relationships: false}, opts)
+    opts = initialize_skip_relationships(opts)
 
     user = User.sanitize_html(user, User.html_filter_policy(opts[:for]))
     display_name = user.name || user.nickname