user: factor out illogical User.Info.superuser?/1.
authorWilliam Pitcock <nenolod@dereferenced.org>
Wed, 9 Jan 2019 06:41:25 +0000 (06:41 +0000)
committerWilliam Pitcock <nenolod@dereferenced.org>
Wed, 9 Jan 2019 06:44:50 +0000 (06:44 +0000)
any actual callee will be dealing with a User struct to begin with, so
just check the child struct inside User.superuser?/1 with pattern matching.

lib/pleroma/user.ex
lib/pleroma/user/info.ex

index 636c56312e970b2a8c94a7a6eca963daf085178d..4d0f68cd6ddbaa09567c82002c9664ea322edca7 100644 (file)
@@ -63,7 +63,8 @@ defmodule Pleroma.User do
 
   def visible_for?(_, _), do: false
 
-  def superuser?(%User{info: %User.Info{} = info}), do: User.Info.superuser?(info)
+  def superuser?(%User{local: true, info: %User.Info{is_admin: true}}), do: true
+  def superuser?(%User{local: true, info: %User.Info{is_moderator: true}}), do: true
   def superuser?(_), do: false
 
   def avatar_url(user) do
index 2f419a5a26066a73072bbffa6dacca7e9cda58b7..7c79dfcff32984ccf6016cc28f4350d1f566a978 100644 (file)
@@ -41,8 +41,6 @@ defmodule Pleroma.User.Info do
     # subject _> Where is this used?
   end
 
-  def superuser?(info), do: info.is_admin || info.is_moderator
-
   def set_activation_status(info, deactivated) do
     params = %{deactivated: deactivated}