update copyright years to 2019
[akkoma] / lib / pleroma / web / twitter_api / views / user_view.ex
index 41825f8f66e38ec6b336b6dd0bffcf5d200a58eb..40db0b1178cbb1636e96aa11ac3ba92a84995c86 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.TwitterAPI.UserView do
@@ -21,24 +21,29 @@ defmodule Pleroma.Web.TwitterAPI.UserView do
   end
 
   def render("user.json", %{user: user = %User{}} = assigns) do
-    for_user = assigns[:for]
-
-    allow_render =
-      User.remote_or_auth_active?(user) ||
-        (for_user && (for_user.id == user.id || User.superuser?(for_user)))
-
-    if allow_render do
-      render("valid_user.json", assigns)
-    else
-      render("invalid_user.json", assigns)
-    end
+    if User.visible_for?(user, assigns[:for]),
+      do: do_render("user.json", assigns),
+      else: %{}
   end
 
-  def render("invalid_user.json", _assigns) do
-    %{}
+  def render("short.json", %{
+        user: %User{
+          nickname: nickname,
+          id: id,
+          ap_id: ap_id,
+          name: name
+        }
+      }) do
+    %{
+      "fullname" => name,
+      "id" => id,
+      "ostatus_uri" => ap_id,
+      "profile_url" => ap_id,
+      "screen_name" => nickname
+    }
   end
 
-  def render("valid_user.json", %{user: user = %User{}} = assigns) do
+  defp do_render("user.json", %{user: user = %User{}} = assigns) do
     for_user = assigns[:for]
     image = User.avatar_url(user) |> MediaProxy.url()
 
@@ -118,23 +123,6 @@ defmodule Pleroma.Web.TwitterAPI.UserView do
     end
   end
 
-  def render("short.json", %{
-        user: %User{
-          nickname: nickname,
-          id: id,
-          ap_id: ap_id,
-          name: name
-        }
-      }) do
-    %{
-      "fullname" => name,
-      "id" => id,
-      "ostatus_uri" => ap_id,
-      "profile_url" => ap_id,
-      "screen_name" => nickname
-    }
-  end
-
   defp image_url(%{"url" => [%{"href" => href} | _]}), do: href
   defp image_url(_), do: nil